Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi ile Gmail Hesabından Mail Gönderimi
#1
Benim en çok kullandığım şeydir kendileri.
Yaptığınız exe dizininde  libeay32.dll ve ssleay32.dll dosyaları bulunması gerekiyor aksi takdirde ssl hatası alırsınız. dll dosyalarını Buradan İndirebilirsiniz. gmaildll
İlk mail gönderiminde başarısız olacaktır ve gmail size bir mail gönderecektir “Şifrenizi başka biri biliyor”  gibi, o maili açarak o kişinin siz olduğunuzu işaretlemeniz gerekiyor ve ilgili ekran sizi bir kaç ayar yapmaya yönlendirecektir bu ayarları da yapmanız gerekiyor.
Bu ayarları yaptıktan sonra mail gönderimine başlayabilirsiniz.


var
SMTP:TIdSMTP;
EPosta: TIdMessage;
LHandler: TIdSSLIOHandlerSocketOpenSSL;
HtmlPart:TIdText;
mailhtml:string;
ImagePart: TIdAttachmentFile;
HtmlPart:TIdText;
begin
   SMTP:=TIdSMTP.Create(nil);
   EPosta:=TIdMessage.Create(nil);
   LHandler:= TIdSSLIOHandlerSocketOpenSSL.Create(nil);
   try
   SMTP.Host:='smtp.gmail.com'  ;
   SMTP.Username:='xxxxx@gmail.com'; //gönderen Email
   SMTP.Password:='xxxxx'; //Gönderen Email şifresi
   SMTP.Port:= 587;
   SMTP.AuthType := satDefault;
   LHandler.Destination := SMTP.Host+'587';
   LHandler.Host := SMTP.Host;
   LHandler.Port := SMTP.Port;
   LHandler.DefaultPort := 0;
   LHandler.SSLOptions.Method := sslvTLSv1 ;
   LHandler.SSLOptions.Mode := sslmUnassigned;
   LHandler.SSLOptions.VerifyMode := [];
   LHandler.SSLOptions.VerifyDepth := 2;

   { // Email ile html gönderimi için
       HtmlPart := TIdText.Create(EPosta.MessageParts);
       HtmlPart.ContentType := 'text/html';
       HtmlPart.CharSet := 'iso-8859-9';
       HtmlPart.Body.LoadFromFile('html dosya dizini');
       
       TIdAttachmentFile.Create(EPosta.MessageParts, 'ek dizini');
       
       ImagePart := TIdAttachmentFile.Create(EPosta.MessageParts, 'fotoğraf dizini');
       ImagePart.ContentType := 'image/png';
       ImagePart.ContentDisposition := 'inline';
       ImagePart.ExtraHeaders.Values['content-id'] := ExtractFileName('fotoğraf dizini');
       ImagePart.DisplayName := ExtractFileName('fotoğraf dizini');
   }
   SMTP.IOHandler := LHandler;
   SMTP.UseTLS := utUseExplicitTLS;
   SMTP.ConnectTimeout := 10000;
   SMTP.Connect;
   EPosta.From.address := 'xxx@xx.com'; // gönderilecek e mail adresi aralarına ; koyarak bir çok kişiye gönderebiliriz.
   EPosta.Subject:= 'Android Mail Servisi'; // mail konusu
   EPosta.Body.Add(''); // Mail yazısı
   EPosta.From.Name := 'Android Mail Servisi'; // mail göneren ismi
   EPosta.Recipients.EMailAddresses := 'xxxxxx@gmail.com'; // gelen mailde görünecek mail adresi
   EPosta.CharSet:='iso-8859-9';
   SMTP.Authenticate;
   try
     SMTP.Send(EPosta);
   finally
     SMTP.Disconnect;
   end;
finally
   SMTP.Free;
   EPosta.Free;
   LHandler.Free;
end;
end;

Bilrax'a yardımlarından dolayı teşekkür ederim.
blog.yakupulutas.com
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi 7- 4 Adet Tablo Döngü Problemi bsrgmsy 2 132 Dün, Saat: 17:17
Son Yorum: bsrgmsy
  C# -> Delphi ... Gürcan 2 108 Dün, Saat: 14:41
Son Yorum: Gürcan
  Delphi XE6'da oluşan XML XE'de farklı. WSDL Wizard hata yapar mı ? boreas 7 346 22-04-2019, Saat: 12:55
Son Yorum: boreas
  Delphi proje sorunu wiseman 3 118 19-04-2019, Saat: 13:56
Son Yorum: Fesih ARSLAN
  Delphi 7 json veri işlemleri onurakman 8 325 17-04-2019, Saat: 11:22
Son Yorum: OBK



Konuyu Okuyanlar: 1 Ziyaretçi