Attachment'li mail gönderme..?

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

Attachment'li mail gönderme..?

Mesaj gönderen meren »

Merhaba Arkada$Lar Hazırlamı$ Olduğum Bir Program Var Bu Programda Raporları Excel Formatında Kaydettiriyorum Ve Bunları Otomatik Olarak Bir Butona Koyup Mail Göndermek İstiyorum Fakat Forumdaki Mail Gönderme İle İlgili Olarak Olan Kodlar Arasında Bir Türlü Xls Dosyasını Attachment Olarak Gönderebileceğim Bir Kod Bulamadım..? Böyle Bir Mail Gönderme Olayını Nasıl Yapabilirim? Herkeze İyi Çalı$Malar...
lütfen küçük harfler ile...
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

Delphi 5 te demos altında smtp isimli ornek poje var
nmsmtp bileseni ile yapılmıs
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

:ara indy
DeveloperToolKit

..::|YeşilMavi|::..
meren
Üye
Mesajlar: 71
Kayıt: 20 Ara 2004 03:44

Mesaj gönderen meren »

Arkadaşlar indy ile filan denedim ama bir türlü XLS dosyasını gönderemedim.. TXT dosyasını gönderebiliyorum fakat farklı bir dosya gönderemiyorum... buna benzer bir kodda ortalıklarda yok sanırım...
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

indy demolarını bi incele istersen.
yanlış hatırlamıyorsam dosya tiplerini kontrol ediliyor. text, exe vs. vs.
DeveloperToolKit

..::|YeşilMavi|::..
AliRiza
Üye
Mesajlar: 172
Kayıt: 24 Kas 2004 10:57
Konum: İstanbul/Avcılar
İletişim:

Mesaj gönderen AliRiza »

Kod: Tümünü seç

procedure TMailerForm.btnSendMailClick(Sender: TObject);
var
mail:string;
konum:integer;
begin
 if (company.Text<>'') and (contact.Text<>'') and (phone.Text<>'') and (fax.Text<>'') and (email.Text<>'') and  (pos('@',email.Text)<>0) then
begin
 statusmemo.Visible:=true;
animate2.Visible:=true;
animate2.StartFrame:=1;
animate2.Active:=true;
animate1.Visible:=true;
animate1.Parent:=btnsendmail;
konum:=btnsendmail.Height-animate1.Height;
animate1.SetBounds(konum div 2,konum div 2, animate1.Width,animate1.Height);
animate1.Active:=true;
 StatusMemo.Clear;
   mail:='Company:'+chr(32)+company.Text+chr(13)+'Contact Person:'+chr(32)+contact.Text+chr(13)+'Phone:'+chr(32)+phone.Text+chr(13)+'Fax:'+chr(32)+fax.Text+chr(13)+'Email:'+chr(32)+email.Text+chr(13)+'Adress:'+chr(32)+adress.Text+chr(13)+'Country:'+chr(32)+country.text+chr(13)+'City:'+chr(32)+city.Text+chr(13)+'Notes:'+chr(32)+chr(13)+notes.Text+chr(13);
  //setup SMTP
  try
  SMTP.Host :='host ipsi veya ismi';//smtp.e-kolay.net gibi
  SMTP.Port := 25;
  except on E:EAccessViolation  do
  begin
  Showmessage('System error');
  end;
  end;
 //setup mail message
  MailMessage.From.Address :='Buraya hangi hesaptan göndermek istiyorsan onu yaz veya edit'e aktar' ;
  MailMessage.Recipients.EMailAddresses :='Buraya gidecek mail adresleri belirtilecek' ;

  MailMessage.Subject := 'Konu kısmı';
  MailMessage.Body.Text := mail;
  way:=way+'order_spare.xls';  //Attach etmek istediğin excel dosyasının ismi
     TIdAttachment.Create(mailmessage.MessageParts,way);
try
    try
      if smtp.Authenticate then
     begin
       smtp.AuthenticationType:=atlogin;
      end;
        smtp.Username:='Smtp kullanıcı adınız';
      smtp.Password:='Parolanız';
      try
      SMTP.Connect(1000);
      except
      Messagedlg('There is no internet connection',mtwarning,[mbok],0);
      end;
      try
      SMTP.Send(MailMessage);

             animate1.Active:=false;
             animate1.Visible:=false;
             animate2.Active:=false;
             animate2.Stop;
             statusmemo.Visible:=false;
             animate2.Visible:=false;
             Messagedlg('Your order has been send',mtinformation,[mbok],0);
      except
      animate1.Active:=false;
             animate1.Visible:=false;
             animate2.Active:=false;
             animate2.Stop;
             statusmemo.Visible:=false;
             animate2.Visible:=false;
      Messagedlg('Your order not has been send',mtinformation,[mbok],0);
      end;
    except on E:Exception do
      StatusMemo.Lines.Insert(0, 'ERROR: ' + E.Message);
    end;
  finally
    if SMTP.Connected then
    begin
    SMTP.Disconnect;
   way:='';
   // smtp.Free;
   mailmessage.MessageParts.Clear;
   // mailmessage.Free;
  end;
end;
end; (* btnSendMail Click *)
end;
Forumda da aratırsan bulabilirsin.Ben size aşağıdaki kodu gönderdim.Orda gayet herşey açık..
Bilginin efendisi olmak için çalışmanın uşağı olmak şarttır...
BALZAC
Bana bir harf öğretenin kulu kölesi olurum..
HZ.ALİ
Cevapla