Ard arda email

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
meren
Üye
Mesajlar: 71
Kayıt: 20 Ara 2004 03:44

Ard arda email

Mesaj gönderen meren »

merhaba arkadaşlar ben bir program hazırladım progrmaın mail atma bölümünde Query1'deki kayıtların hepsini dola$ıp tek tek mail atmasını istiyorum benim program her kayıta geldiğinde mail atmaya çalı$ıyor.. 1. kayıta geliyor maili gönderiyor sorun olmuyor fakat 2. kayıta geldiğinde maili gönderemiyor hata veriyor.. mail gönderme kodunu aşağıdaki gibi kullandım acaba nerede hata yapıyorum ?, yardımlarınızı bekler iyi çalışmalar dilerim

Kod: Tümünü seç

    IdSMTP1.Disconnect;
    IdMessage1.Sender.Address :='asd@asd.com';
    IdMessage1.From.Name      :='ASD';//gönderenin adı
    IdMessage1.From.Address   :='asd@asd.com';//gönderen mail adresi
    IdMessage1.Recipients.EMailAddresses :=Memo4.Lines.Text;
    IdMessage1.Priority := mpNormal;//mesaj önceliği
    IdMessage1.Date := DxDateEdit2.Date;
    IdMessage1.UseNowForDate := true;
    IdMessage1.ContentType :='Text/html';
    IdMessage1.Body.Assign(RichEdit1.Lines);
    IdMessage1.Body.Append('<br>');
    IdMessage1.Body.Append('<br>');
    IdMessage1.Body.Append('Toplantı Bilgileri');
    IdMessage1.Body.Append('<br>');
    IdMessage1.Body.Append('Top.Kodu ='+ComboBox2.Text);
    IdMessage1.Body.Append('&nbsp');
    IdMessage1.Body.Append('&nbsp');
    IdMessage1.Body.Append('Top.Tarihi ='+DxDateEdit1.Text);
    IdMessage1.Body.Append('&nbsp');
    IdMessage1.Body.Append('&nbsp');
    IdMessage1.Body.Append('Top.Konusu ='+Edit2.Text);
    IdMessage1.Body.Append('&nbsp');
    IdMessage1.Body.Append('&nbsp');
    IdMessage1.Subject :='TOPLANTI BİLGİ MAİLİ';
    IdMessage1.Body.Append('<br>');
    IdMessage1.Body.Append('Mad.Bit.Tarihi ='+DxDateEdit3.Text);
    IdMessage1.Body.Append('&nbsp');
    IdMessage1.Body.Append('&nbsp');
    IdMessage1.Body.Append('Madde No ='+Edit5.Text);
// bağlantı bölümü
    IdSMTP1.Authenticate;
    IdSMTP1.AuthenticationType:=atLogin;//smtp login bölümü
    IdSMTP1.Password :='asd@asd.com';
    IdSMTP1.Username :='123456';
    IdSMTP1.Host:='mail.asd.com';
    IdSMTP1.Port:=25;

   IdSMTP1.Connect;
    IdSMTP1.Send(IdMessage1);
    IdSMTP1.Disconnect;

Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

merhaba ,
En başa ,

Kod: Tümünü seç

IdMessage1.Clear;
demenizi öneririm.
Volkan KAMADAN
www.polisoft.com.tr
meren
Üye
Mesajlar: 71
Kayıt: 20 Ara 2004 03:44

Mesaj gönderen meren »

Kod: Tümünü seç

IdMessage1.Clear;
denedim fakat yine olmadı 1. maili gönderiyor sıraki 2. maile geçince NOT CONNECTED diyor.. bağlı değil diyor nasıl iş anlamadım ?? nerede hata yapıyorum acaba

Bu arada arkadaşlar şunuda belirteyim spam mail gibi bir düşüncem yok
sadece bir toplantı programı yapıyorum ve katılımcıların hepsine sırayla göndermek istiyorum maili..

Saygılar, Sevgiler
(Bu arada konuyu 2 defa açmak istemedim sadece yanlış yere yazdım galiba başlığı diye düşünerek yerini değiştirmek istedim)
Saygılar...
En son meren tarafından 29 Eki 2005 02:18 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

gönderme işlemleri arasına bi sürelik bekleme koysanız, belkide çoklu conneciton kuramıyordur serverınıza :? , bir timerla bekletme yapın arada 100 er ms. veya önce bir sleep(200) le deneyin.
.-.-.-.-.-.-.-. ^_^
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

öncelikle size öenrim ,
Bağlantıyı döngüden önce bir defa sağlayın,
döngüde IdMessage ierini belirleyin ve sadece ıdSMTP ile gönderme işlemi döngüde yapın döngü çıkışındada bğalantıyı kesin. her seferinde kopartıp bağlnatıyı tekar yapmak sorunlara neden olur
Volkan KAMADAN
www.polisoft.com.tr
meren
Üye
Mesajlar: 71
Kayıt: 20 Ara 2004 03:44

Mesaj gönderen meren »

benimki aslında bir döngü sayılmız şimdi benim forumda bir tane memo var burada kimlere mailin gideceği bilgisi yer alıyor.. ve toplantıya bir madde ekliyorum bu maddeyi kaydet deyince bu mailleri gönderiyor ilk olarak.. daha sonra 2. bir madde ekliyorum mesela 2. maddede de farklı kimseleri seçiyorum memoya bu sefer tekrar maddeyi kaydet bu sefer seçilen diğer kişilere gidecek olan mail gitmiyor böyle hatalar veriyor..
(her seferinde disconnect yapmadığımdada maili hiç göndermiyor)

anlamadım gitti hocam ya
:cry:
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

Ben de buna benzer bir sorun ile karşılaşmıştım. Ard arda gönderirken Invalid Recieptiens Address (5.5.4) gibi bir şeyler diyordu.

Bunu aşmak için her seferinde IdMessage'ı yeniden Create ediyorum o zaman sorunsuz göndeiryor.

Yani Döngü içindeyken IdMessage'ı create ediyorum sonra Send ediyorum ardından Disconnect dedikten sonra IdMessage.Free diyerek yok ediyorum.

Böylelikle sorunsuz gönderim yapabiliyorum.

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

IdMessage'ın BCC'sine email adreslerini , (virgül) ile ayırarak döngü içinde atsan da birçok kere bağlantı açmasan daha iyi değil mi? Tek bağlantı ile herkese gider, sunucu da az yorulmuş olur.

Kuri'nin söylediğini uygularsan bir sorun olmayacaktır sanırım.
meren
Üye
Mesajlar: 71
Kayıt: 20 Ara 2004 03:44

Mesaj gönderen meren »

arkadaşlar ilginiz için çok teşekkür ederim, problem Kuri'nin dediklerini yapınca düzelti , artı bir şekilde daha düzeltme şansı buldum oda direk IdSMTP objesnini foruma koyup onun kendi özelliklerine kullanıcı adını ve şifresini yazıncada proglem ortadan kalkıyor ilginçtir.. herkeze yardımlarından dolayı teşekkür ederim.

Saygılar, sevgiler...
Cevapla