TOPLU MAILDE HATA

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
gul_tanriover
Üye
Mesajlar: 18
Kayıt: 17 Eki 2006 11:24
Konum: İzmir

TOPLU MAILDE HATA

Mesaj gönderen gul_tanriover »

HERKESE MERHABA,

ARKADAŞLAR ÇALIŞTIĞIM ŞİRKETTE MÜŞTERİLERE KAMPANYALAR HAKKINDA BİLGİ VERMEK AMACIYLA HAZIRLAMIŞ OLDUĞIM PROGRAMDA TOPLU MAIL GÖNDERMEYE ÇALIŞIYORUM ANCAK GÖNDEREMİYORUM.10 MAILE KADAR SORUNSUZ GÖNDERİYOR ANCAK BU HİÇ BİR İŞİME YARAMIYOR:(
BİNLERCE FİRMADAN OLUŞAN PORTFÖYLER VAR ELİMDE ANCAK GÖNDEREMİYORUM.NEDEN KAYNAKLANDIĞINIDA BİLEMİYORUM.LÜTFEN BİR İNCELEYİN ŞİMDİDEN TEŞEKKÜRLER..


MAIL GÖNDER BUTONU:

Kod: Tümünü seç

procedure TForm1.SpeedButton5Click(Sender: TObject);
var c, g, x, a, i: integer;
  Text: TIdText;
begin
  b := 0;
  g := 0;
  if edit1.Text = '' then begin
    showmessage('Portföy Görüntüleme Sayfasından Mail Gönderim Kriterini Belirleyiniz');
    tabsheet2.Show;
    label1.Font.Color := clRED;
    label2.Font.Color := clRED;
  end
  else
  begin
    if OpenDialog2.FileName = '' then
    begin
      x := MessageDlg('Lütfen Dosya Seçiniz!!', mtConfirmation, mbOKcancel, 0);
      if x = mrOk then begin
        OpenDialog2.Execute;
        listbox2.Items.Clear;
        ListBox3.Items.Add(OpenDialog2.FileName);
        data.Query.First;
        for c := 0 to data.Query.RecordCount - 1 do begin
          listbox2.Items.add(data.Query.FieldByName('email').AsString);
          data.Query.Next;
        end;
        for a := 0 to listbox2.Items.Count - 1 do begin
          with IdMessage1 do
          begin
            TIdMessage.Create(nil);
            From.Name := 'aaa';
            From.Address := 'info@aaa.com';
            Recipients.Add;
            Recipients[0].Address := listbox2.Items.Strings[a];
            Subject := edit3.Text;
            ContentType := 'multipart/mixed';
            ReceiptRecipient.Text := 'info@aaa.com';
{TIdMessage.Create( nil );
Recipients.Add;
Recipients.EMailAddresses:=listbox2.Items.Strings[a];
ContentType := 'multipart/mixed';
ReceiptRecipient.Text := 'info@arenafuar.com'; }
            TIDAttachment.create(IdMessage1.MessageParts, OpenDialog2.FileName); //dosya ekle
//TIDAttachment.create(IdMessage1.MessageParts,OpenDialog1.FileName); //dosya ekle
//for i := 0 to attach_sayisi do TIdAttachment.Create(IdMessage1.MessageParts,dosya_adi); attach
//From.text:='info@aaa.com';
//from.Name:='aaa';
//sleep(100);
//showmessage(listbox2.Items.Strings[a]);
            b := b + 1; label12.Caption := inttostr(b);
            ListBox4.Items.Add(listbox2.Items.Strings[a]); showmessage('ek2 yok');
            memo1.Font := FontDialog1.Font;
            memo1.Font.Color := FontDialog1.Font.Color;
            memo1.Font.Size := FontDialog1.Font.Size;
            Body.Assign(memo1.Lines);

          end;
          IdSMTP1.Host := 'mail.aaa.com';
          IdSMTP1.Username := 'info@aaa.com';
          IdSMTP1.Password := 'xxxxx';
          try
            try
              Memo2.Lines.Add('Bağlantı Ayarlanıyor');
              IdSMTP1.Connect;
            except
              Memo2.Lines.Add('HATA: Bağlantı Gercekleşmedi');
            end;
            try
              IdSMTP1.Send(IdMessage1);
              Memo2.Lines.Add('Mesajınız yollandı');
            except
              Memo2.Lines.Add('HATA: Mesajınız Yollanamadı.Tekrar deneyin');
              g := g + 1; label14.Caption := inttostr(g);
            end;
          finally
            IdSMTP1.Disconnect; //sleep[50] kullan
            IdMessage1.Clear;
            if x = mrcancel then showmessage('fgfd');
          end; end; end; end
    else begin
      b := 0;
      for a := 0 to listbox2.Items.Count - 1 do begin
        with IdMessage1 do
        begin
          TIDAttachment.create(IdMessage1.MessageParts, OpenDialog2.FileName); //dosya ekle
          (IdMessage1.MessageParts, OpenDialog1.FileName); //dosya ekle
          From.text := 'info@aaa.com';
          from.Name := 'aaa';
          Recipients.EMailAddresses := listbox2.Items.Strings[a];
          sleep(100);
          b := b + 1; label12.Caption := inttostr(b);
          Subject := edit3.Text;
          Body.Assign(memo1.Lines);
        end;
        IdSMTP1.Host := 'mail.aaa.com';
        IdSMTP1.Username := 'info@aaa.com';
        IdSMTP1.Password := 'xxxxx';
        try
          try
            Memo2.Lines.Add('Bağlantı Ayarlanıyor');
            IdSMTP1.Connect;
          except
            Memo2.Lines.Add('HATA: Bağlantı Gercekleşmedi');
          end;
          try
            IdSMTP1.Send(IdMessage1);
            Memo2.Lines.Add('Mesajınız yollandı');
          except
            Memo2.Lines.Add('HATA: Mesajınız Yollanamadı.Tekrar deneyin');
            g := g + 1; label14.Caption := inttostr(g);
          end;
        finally
          IdSMTP1.Disconnect; //sleep[50] kullan
          IdMessage1.Clear;
        end; end; end;
    listbox2.Items.Clear;
    data.Query.First;
  end;
end;
@mrmarman yazdı:Şimdilik sizin için code bloğuna ben aldım. Lütfen kodlarınızı okunur şekilde yazınız. Aceleniz olması, forum kurallarına aykırı hareket serbestisi sunmaz. Yazdıktan sonra da seçerek Code yazan butona basınız. Bu şekilde formatlı bir şekilde forumda görünecektir. @mrmarman
Herşeye Rağmen....
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Yazdığınız soruya cevap veremeyeceğim ama sorunuzla ve soruş şeklinizle ilgili bazı uyarılar yapmak zorundayım.

Birincisi forumda büyük harf kullanımı istemiyoruz çünkü internette büyük harf kullanımı bağırma anlamına geliyor.

İkincisi çok açıklayıcı bilgiler yazmamışsınız, nerde sorun var nerede hata veriyor veya verdiği hata kodu nedir gibi. Bu tür sorunlarla karşılaştığınızda tavsiyem adım adım kodunuzu incelemeniz

Üçüncüsü de bu tür spam mailleri atmak için sorduğunuz soruya burada çok iyi gözle bakmıyoruz.

Sonuncu olarakta 5 dk nızı ayırıp lütfen forum kurallarını okuyun.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

@gul_tanriover

- Mail göndermek için kullandığınız Mail Sunucunuz hakkında bilgi verir misniz ? GMail, Hotmail, MyNet, size ait bir mail sunucusu, ücreti karşılığı edindiğiniz host ile birlikte verilen vs.vs.

- Öncelikle bu sunucu imkanlarını sorgulayınız. Aynı işlemi 10 kere yapan program 100 kere de 10.000 kere de yapar. Yeter ki siz, mail kriterlerine uyun.

- Mesela mail server belli bir süre içerisinde 10'dan fazla mesaj gönderimine engel oluyor olabilir. Bunun için 10 mesajda bir 20..30 veya 60 saniye bekleme yaparak işleme devam edin.

- Sorunu her zaman kodlarda aramayın. :idea:
Resim
Resim ....Resim
gul_tanriover
Üye
Mesajlar: 18
Kayıt: 17 Eki 2006 11:24
Konum: İzmir

uyarınız için teşekkürler

Mesaj gönderen gul_tanriover »

Mrmarman hosting hizmeti aldığımız firma özel bir kurum.Kendi server'larını kiralıyorlar.Mynet, gmail yada hotmail değil. Bekleme için sleep komutunumu kullanmalıyım? İlgilendiğiniz için çok teşekkürler. :)

Sayın Naile;

Birincisi:Büyük Harf Kullanımının ne işe yaradığının bilincindeyim sadece İşlerimin yoğunluğundan dolayı Büyük Harf Kullandığımın farkında değildim.Yinede herkesten özür dilerim.

İkincisi:Program herhangi bir hata mesajı vermiyor.Sadece gönderemiyor.Oluşturduğum sayaçlarda gönderilemeyen mesaj hanesi ve gönderilen mesaj hanesi eşitleniyor.Mantıksızlık burada baş gösteriyor.

Üçüncüsü:Kimseyi rahatsız etmek gibi bir amacımız yok.Zaten Böyle Şeylerle uğraşacak boş zaman ve boş insanlarda yok.Kurumsal şirketler toplu mail gönderimini temel ihtiyaç olarak gördüklerinden dolayı böyle bir program oluşturmaya karar verdik.Ve takildığımız yerlerde destek amacıyla bu siteye başvurduk.Forumun temel amacıda budur..


Bilgilerinize.....
Herşeye Rağmen....
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Selamlar.

Problem @mrmarman'in değindiği noktada, ilgili konuya yoğunlaşmalısın.Asıl söylemek istediğim şey ise,

- Bir nesnenin eventine bu kadar kod yazılmamalı!

- Kendi oluşturduğunuz yordamlara bu kadar kod yazılmamalı!

- İsimlendirme yapmadan kod yazılmamalı!

....

Bu maddeler devam eder gider.Eğer bir problem oluştuğunda bunu sentezleyemiyorsan en önemli nedeni yukarıda yazdığım maddelerdir.

Kolay gele.
cozturk
Üye
Mesajlar: 484
Kayıt: 15 Haz 2005 05:22

Mesaj gönderen cozturk »

bazı hosting firmaları "toplu mail" gönderildiğini fark edip derhal hizmeti sonlandırıyorlarmış. ve hosting hizmeti ödediğiniz para boşa gidiyormuş.

Hatta hizmeti almadan önce okuyup "onaylıyorum" dediğiniz sözleşmede bu yazıyormuş.

Yeni bir kanununa göre spam mailin cezası 10.bin ytlden başlıyormuş.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

@gul_tanriover

- Şimdilik sizin için mesajınızdaki kodu CODE bloğuna ben aldım. Lütfen kodlarınızı okunur şekilde yazınız.

- Aceleniz olması, forum kurallarına aykırı hareket serbestisi sunmaz. Yazdıktan sonra kodunuzu seçerek Code yazan butona basınız. Bu şekilde formatlı bir şekilde forumda görünecektir.

- Şimdi ise vaktiniz olduğunda, büyük harfle yazılmış mesajınızı düzelterek küçük harfe dönüştürebilirsiniz. Oldu bitti yok. :idea:
Resim
Resim ....Resim
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Re: uyarınız için teşekkürler

Mesaj gönderen fduman »

gul_tanriover yazdı: Üçüncüsü:Kimseyi rahatsız etmek gibi bir amacımız yok.Zaten Böyle Şeylerle uğraşacak boş zaman ve boş insanlarda yok.Kurumsal şirketler toplu mail gönderimini temel ihtiyaç olarak gördüklerinden dolayı böyle bir program oluşturmaya karar verdik.Ve takildığımız yerlerde destek amacıyla bu siteye başvurduk.Forumun temel amacıda budur..
Toplu mail göndermek yeterince rahatsızlık verici bir eylem. Buna spam deniyor. Kurumsal şirketler reklamlarını bu yöntem ile yapıyorlar. Genellikle de bir süre sonra spam listelerine giriyorlar zaten. O zaman da buraya gelip maillerim neden yerine ulaşmıyor diye sorarsınız.

Silahı imal edenlerin de kimseyi öldürmek gibi bir amacı olduğunu zannetmiyorum.
Cevapla