Gmaile Gelen Maili Okuma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 107
- Kayıt: 01 May 2013 05:30
Gmaile Gelen Maili Okuma
Arkadaşlar Gmail Hesabıma Gelen Maili Okumak İstiyorum.
Bunu Nasıl Yapabilirim Şu Konudan Pek Birşey Anlamadım
viewtopic.php?t=34092
Bunu Nasıl Yapabilirim Şu Konudan Pek Birşey Anlamadım
viewtopic.php?t=34092
Sevgiler Yalan Olmuş Yalan Sahtekar Bırakıpta Bir Gün Seni Gitmeyecek Mi?
-
- Üye
- Mesajlar: 107
- Kayıt: 01 May 2013 05:30
Re: Gmaile Gelen Maili Okuma
Arkadaşlar Şu Şekilde Yapabilirmiyiz. Bir Tane WebBrowser Koyup Direk Açılışta E-Posta ve Şifreyi de Tanımlayıp Giriş Yaptırabilirmiyiz.
Sevgiler Yalan Olmuş Yalan Sahtekar Bırakıpta Bir Gün Seni Gitmeyecek Mi?
Re: Gmaile Gelen Maili Okuma
Verdiğin linkte component ile örnekleri mevcut ama sen component kullanmak istemezsen Html Parse yöntemini kullanacaksın. Yani senin yukarıda dediğin şekil webbrowser ile ilgili sayfayı açıp sayfanın kaynak kodlarından ilgili alanları bularak gereken bilgileri göndereceksin. Örneğin gmail ana sayfasında kullanıcı adı ve şifre alanı (id si email olana kullanıcı adı id si passw olanada şifreni girip göndericeksin). Forumda Html parse ve webbrowser post diye aratırsan geniş bilgi bulabilirsin. Mrmarman hocamın foruma bağlanmak için yaptığı bir örnek var bu örneği incele
viewtopic.php?t=18498
Örnek olarak gmail girişi için şu şekilde
Aynı şekilde mail açıldıktan sonra gelen mail kutusu sayfasındakini parse ederek istediğini yapabilirsin.
Kolay gelsin
viewtopic.php?t=18498
Örnek olarak gmail girişi için şu şekilde
Kod: Tümünü seç
WebBrowser1.Navigate( 'https://accounts.google.com/ServiceLogin?service=mail&continue=https://mail.google.com/mail/&hl=tr');
While WebBrowser1.ReadyState <> READYSTATE_Complete do
Application.ProcessMessages;
WebBrowser1.OleObject.Document.GetElementByID('Email').Value := Edit1.Text;
WebBrowser1.OleObject.Document.GetElementByID('Passwd').Value := Edit2.Text;
WebBrowser1.OleObject.Document.GetElementByID('signIn').Click;
Kolay gelsin
Re: Gmaile Gelen Maili Okuma
benim fikrimce html parse islemleri cok da saglikli degil.
program son kullaniciya ulastiktan sonra birgün google kodlarinda güncelleme yaparsa parse islemi hatali sonuc verecektir. bu durumda son kullaniciya update göndermek zorunda kalacaksiniz.
en güzeli pop ve smtp bilesenleri ile cözüm saglamak.
ama dedigim gibi, bu benim fikrim.
program son kullaniciya ulastiktan sonra birgün google kodlarinda güncelleme yaparsa parse islemi hatali sonuc verecektir. bu durumda son kullaniciya update göndermek zorunda kalacaksiniz.
en güzeli pop ve smtp bilesenleri ile cözüm saglamak.
ama dedigim gibi, bu benim fikrim.
kıdemsiz üye
Re: Gmaile Gelen Maili Okuma
POP/IMAP/SMTP bileşenleri de kullansanız size cevap olarak dönecek değer HTML formatındadır maalesef. (En azından ben öyle biliyorum )ikra yazdı:benim fikrimce html parse islemleri cok da saglikli degil.
program son kullaniciya ulastiktan sonra birgün google kodlarinda güncelleme yaparsa parse islemi hatali sonuc verecektir. bu durumda son kullaniciya update göndermek zorunda kalacaksiniz.
en güzeli pop ve smtp bilesenleri ile cözüm saglamak.
ama dedigim gibi, bu benim fikrim.
There's no place like 127.0.0.1
Re: Gmaile Gelen Maili Okuma
nasil yani?
pop ile cagirdigim email bana gmailin belirledigi bir html formatinda mi geliyor?
hocam ben bunu ilk defa duydum.
pop ile cagirdigim email bana gmailin belirledigi bir html formatinda mi geliyor?
hocam ben bunu ilk defa duydum.
kıdemsiz üye
Re: Gmaile Gelen Maili Okuma
Gmail'in değil de kullanılan protokolün (POP3, IMAP) belirlediği formatta geliyor.
Aslında şimdi farkettim, Indy bizim için bu dönüşümü yapıyormuş. TIdMessages ve TIdText sınıfı sayesinde. Pek Indy kullanmadığım için dikkat etmemişim.
Aslında şimdi farkettim, Indy bizim için bu dönüşümü yapıyormuş. TIdMessages ve TIdText sınıfı sayesinde. Pek Indy kullanmadığım için dikkat etmemişim.
There's no place like 127.0.0.1
Re: Gmaile Gelen Maili Okuma
: ))
iste bunu kasit etmistim. Webbrowser ile islem yapip geri dönen html'i parse etmek sagliksiz bir cözüm olur.
Belki bir süre calisir fakat ileriki dönemde google tarafindan bir degisiklik yapildiginda parse islemi hatali sonuc döndürecektir.
bu isin en güzel cözümü, pop ve smtp.
Vista ile gelen bir kisim Gadget'ler su an parsing yapamadiklarindan dolayi calismiyorlar. örnegin hava raporu.
kıdemsiz üye
Re: Gmaile Gelen Maili Okuma
Indy'nin bu işi bizim için yapıp yapmadığı konusu kafamda soru işareti?
Gmail'den dönen e-posta ContentType'ı text/html ise bunu Indy'den nasıl döndürebileceğimi bulamadım.
Basit bir örnek yaptım, yol göstermesi açısından :
Form'a birer adet IdPOP3, IdSSLIOHandlerSocketOpenSSL, IdMessage, Memo ve Button koyun.
IdPOP3'un özellikleri:
host = pop.gmail.com,
port = 995,
IOHandler = IdSSLIOHandlerSocketOpenSSL1,
UseTLS = utUseImplicitTLS,
Username = eposta adresiniz,
Password = malum
olacak şekilde düzenleyin.
Yukarıda da yazdığım gibi çok basit bir örnek. IdPOP31.Retrieve ile 1. mesajı okuduğuma dikkat ediniz. CheckMessages kadar döngüye girilip tüm e-postalar okunabilir.
Ayrıca e-posta içeriğini yazdırırken de hiç kontrol yapmadım. Aslında IdMessage1.ContentType kontrol edilip ona göre içeriği yazdırılmalı.
Yine ayrıca(!) attachment kontrolü vs. de yapılmamıştır, dikkatinizi çekerim.
Indy'nin örnekleri arasında işinize yarayacak bir örnek var: IdPOP3 / IdSMTP / IdMessage
Gmail'den dönen e-posta ContentType'ı text/html ise bunu Indy'den nasıl döndürebileceğimi bulamadım.
Basit bir örnek yaptım, yol göstermesi açısından :
Form'a birer adet IdPOP3, IdSSLIOHandlerSocketOpenSSL, IdMessage, Memo ve Button koyun.
IdPOP3'un özellikleri:
host = pop.gmail.com,
port = 995,
IOHandler = IdSSLIOHandlerSocketOpenSSL1,
UseTLS = utUseImplicitTLS,
Username = eposta adresiniz,
Password = malum
olacak şekilde düzenleyin.
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
IdPOP31.Connect;
if IdPOP31.Retrieve(1, IdMessage1) then
begin
Memo1.Lines.Add('E-posta sayısı: ' + IntToStr(IdPOP31.CheckMessages));
Memo1.Lines.Add('------');
Memo1.Lines.Add(IdMessage1.From.Text);//Gönderen
Memo1.Lines.Add(IdMessage1.Recipients.EmailAddresses);//Alıcı(lar)
Memo1.Lines.Add(IdMessage1.Subject);//Konu
//E-Posta İçeriğini yaz
Memo1.Lines.Add(IdMessage1.Body.Text);
end;
end;
Ayrıca e-posta içeriğini yazdırırken de hiç kontrol yapmadım. Aslında IdMessage1.ContentType kontrol edilip ona göre içeriği yazdırılmalı.
Yine ayrıca(!) attachment kontrolü vs. de yapılmamıştır, dikkatinizi çekerim.
Indy'nin örnekleri arasında işinize yarayacak bir örnek var: IdPOP3 / IdSMTP / IdMessage
There's no place like 127.0.0.1
Re: Gmaile Gelen Maili Okuma
Ek olarak SimaWB arkadaşımızın verdiği linkteki örneği incele. Örnekte ufak bir sorun vardı düzeltip yükledim.
http://s3.dosya.tc/server3/ny1u26/indy_ ... i.rar.html
Ayrıca kullanmak istediğin mail sunucularının pop3 ayarlarınıda şuradan görebilirsin.
http://www.fatihkapagan.com/2014/05/mai ... -imap.html
http://s3.dosya.tc/server3/ny1u26/indy_ ... i.rar.html
Ayrıca kullanmak istediğin mail sunucularının pop3 ayarlarınıda şuradan görebilirsin.
http://www.fatihkapagan.com/2014/05/mai ... -imap.html
Re: Gmaile Gelen Maili Okuma
Fırsat buldukça tavsiye ettiğim Synapse kütüphanesini kullanarak GMail'deki epostalaları okumak bence çok daha kolay.
İlgilenenlere örnek:
Şu unit'leri ekleyin: blcksock, smtpsend, pop3send, ssl_openssl
İlgilenenlere örnek:
Şu unit'leri ekleyin: blcksock, smtpsend, pop3send, ssl_openssl
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var
pop3: TPOP3Send;
begin
pop3 := TPOP3Send.Create();
try
pop3.AutoTLS := false;
pop3.Username:='eposta@gmail.com';
pop3.Password:='şifreniz';
pop3.TargetHost:='pop.gmail.com';
pop3.TargetPort := '995';
pop3.FullSSL := true;
pop3.Sock.SSL.SSLType := LT_SSLv3;
pop3.Sock.SSLDoConnect();
if pop3.Login() and pop3.Stat() then
begin
Memo1.Lines.Add(IntToStr(pop3.StatCount)); //Toplam e-posta sayısı
if pop3.Retr(1) then //ilk epostayı getir
Memo1.Lines.AddStrings(pop3.FullResult); //e-posta içeriği (HTML)
end;
finally
pop3.Free;
end;
end;
There's no place like 127.0.0.1
-
- Üye
- Mesajlar: 107
- Kayıt: 01 May 2013 05:30
Re: Gmaile Gelen Maili Okuma
Gmailde Bulunan Okunmamış Msjları Nasıl Gösterebilirim?Ona Göre Şöyle Bir Uyarı Çıkartacam Yalnız Her 2 dk da Bir Çıkmasını İstiyorum
Sevgiler Yalan Olmuş Yalan Sahtekar Bırakıpta Bir Gün Seni Gitmeyecek Mi?