Yandex SMTP Mail Gönderimi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
akissoftware
Üye
Mesajlar: 90
Kayıt: 17 Ağu 2010 08:08

Yandex SMTP Mail Gönderimi

Mesaj gönderen akissoftware » 17 Kas 2017 02:57

Arkadaşlar hepinize merhaba;

Bir kaç gündür girmediğim site denemediğim component kalmadı sanırım. SMTP özelliğiyle Yandex üzerinden mail gönderemiyorum. OSmtp diye ücretli bir komponent var onla çalışıyor ama o da süreli olduğu için süresi bitti. Ne yapacağımı bilemiyorum bir türlü yapamadım.

"Delphi 7" kullanıyorum. Yardımlarınızı bekliyorum. Teşekkürler

ertank
Üye
Mesajlar: 1138
Kayıt: 11 Eyl 2015 11:45

Re: Yandex SMTP Mail Gönderimi

Mesaj gönderen ertank » 17 Kas 2017 04:30

Forum içinde arama yaptınız mı hiç? Ben denediğim zaman aşağıdaki sonuçlara ulaştım. Yüksek ihtimal ile birinden birisi sorununuzu çözecektir. Bu sebeple daha fazla bağlantı eklemiyorum.

viewtopic.php?f=19&t=36038
viewtopic.php?f=2&t=36034

Ayrıca Yandeks kendi sitesinde gerekli ayarları anlatmış.
https://yandex.com/support/mail-new/mail-clients.html

Kullanıcı avatarı
csunguray
Üye
Mesajlar: 846
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Yandex SMTP Mail Gönderimi

Mesaj gönderen csunguray » 18 Kas 2017 11:54

akissoftware yazdı:
17 Kas 2017 02:57
SMTP özelliğiyle Yandex üzerinden mail gönderemiyorum.
Nasıl bir kod yazdınız?
Bir hata mesajı alıyor musunuz?
Derleme yaparken mi hata alıyorsunuz?
Program çalışırken mi hata alıyorsunuz?
Bir hata mesajı almıyorsunuz ama mail gitmiyor mu?

Sorunuzu son kullanıcı gibi değil programcı gibi sorarsanız daha çok arkadaş yardımcı olacaktır.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)

Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 2996
Kayıt: 17 Nis 2006 07:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Yandex SMTP Mail Gönderimi

Mesaj gönderen sabanakman » 20 Kas 2017 03:14

Buradaki mesaja bir göz atın isterseniz ama aynı zamanda https için openssl güncel kütüphanesi de gerekmektedir. Bu da ssleay32.dll, libeay32.dll isimli iki dll dosyasını program .exe niz ile aynı klasöre koymanızı gerekebilir.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .

erdogan_ozkaya
Üye
Mesajlar: 799
Kayıt: 03 Eki 2007 01:00

Re: Yandex SMTP Mail Gönderimi

Mesaj gönderen erdogan_ozkaya » 21 Kas 2017 05:26

Merhaba,

indy10 kurarsanız aşağıdaki kod ile sorunsuzca gönderim yapabilirsiniz.

Kod: Tümünü seç

procedure TForm1.btnMAIL_GONDERClick(Sender: TObject);
begin
inherited;
      mmoDURUM.Lines.Add('');
      Application.ProcessMessages;
      mmoDURUM.Lines.Add('Bağlantı Kuruluyor.');
  try
    if SMTP.Connected then SMTP.Disconnect;
    SMTP.Host := MAIL_AYARLARI.edtGIDEN_SUNUCU.Text; //EditHOST.Text;
    //SMTP.AuthType := satNone;
    SMTP.AuthType := atDefault;
    SMTP.Username := MAIL_AYARLARI.edtKULLANICI_ADI.Text;//EditUSER.Text;
    SMTP.Password := MAIL_AYARLARI.edtKULLANICI_SIFRE.Text;//EditPASSWORD.Text;

    SMTP.Port := 25;
      if StrToIntDef(MAIL_AYARLARI.GIDEN_SUNUCU_PORT.Text, -1) > 0
      then SMTP.Port :=  StrToInt(MAIL_AYARLARI.GIDEN_SUNUCU_PORT.Text);

    // SSL ayarları
    if MAIL_AYARLARI.edtGIDEN_SUNUCU_SIFRELEME.Text='Yok' then
    begin
      SMTP.UseTLS := utNoTLSSupport;
      SMTP.IOHandler := nil;
      SMTP.ConnectTimeout := 3000;
    end else


    begin
      mmoDURUM.Lines.Add('Bağlantı ayarları yapılıyor.');
      LHandler.Destination := SMTP.Host + ':' + IntToStr(SMTP.Port);
      LHandler.Host := SMTP.Host;
      LHandler.Port := SMTP.Port;
      LHandler.DefaultPort := 0;
      LHandler.SSLOptions.Method := sslvTLSv1;
      LHandler.SSLOptions.Mode := sslmUnassigned; // sslmClient;
      LHandler.SSLOptions.VerifyMode := [];
      LHandler.SSLOptions.VerifyDepth := 0;
      SMTP.IOHandler := LHandler;
    end;

     if MAIL_AYARLARI.edtGIDEN_SUNUCU_SIFRELEME.Text='SSL'
     then  SMTP.UseTLS := utUseImplicitTLS;

     if MAIL_AYARLARI.edtGIDEN_SUNUCU_SIFRELEME.Text='TSL'
     then  SMTP.UseTLS := utUseExplicitTLS;

      SMTP.ConnectTimeout := 10000;


    mmoDURUM.Lines.Add('Sunucuya Bağlanılıyor.');
    SMTP.Connect;

    mmoDURUM.Lines.Add('E-posta gönderiliyor.');

    EPosta.Clear;
    EPosta.From.Address := MAIL_AYARLARI.edtHAREKET_MAIL_ADRESI.Text;//EditUSER.Text;
    EPosta.From.Name := 'ARAC TAKIP RAPORU';
    EPosta.ReplyTo.EMailAddresses :=  MAIL_AYARLARI.edtKULLANICI_ADI.Text;
    //EPosta.ReplyTo.Name := EditUSER.Text;

    with EPosta.Recipients.Add do
    begin
      if MAIL_AYARLARI.edtHAREKET_MAIL_ADRESI.Text  > '' then
      begin
        Name := MAIL_AYARLARI.edtHAREKET_MAIL_ADRESI.Text ;
        Address := MAIL_AYARLARI.edtHAREKET_MAIL_ADRESI.Text ;
      end else
      begin
        Name :=MAIL_AYARLARI.edtHAREKET_MAIL_ADRESI.Text;
        Address := MAIL_AYARLARI.edtHAREKET_MAIL_ADRESI.Text;
      end;
    end;
    EPosta.Subject := DateToStr(dtpTARIH.Date)+ ' TARIH ARAC TAKIP RAPORLARI';
    EPostaIcerikHazirla(Sender);
    SMTP.Send(EPosta);
    mmoDURUM.Lines.Add('Bağlantı başarılı. E-posta gönderilmiştir.');
   finally
    mmoDURUM.Lines.Add('Bağlantı sonlandırılıyor.');
    if SMTP.Connected then SMTP.Disconnect;
  end;
end;


Cevapla