Форум: "Сети";
Поиск по всему сайту: www.delphimaster.net;
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];




Вниз

Как создать вложение при отправке электронного письма? idSMTP 


Геннадий ©   (2004-04-12 15:17) [0]

Как создать вложение при отправке электронного письма с использованием IndySMTP ?


function SendTo(Rcpt: TEMail; Attachment: TStringList; FromAdr: TEmail;
               Subj: String; User, Psw: String; SMTPHost: String;
               SMTPPort: Word; TimeOut: Integer): TResCode;
var
Msg : TIdMessage;
I   : Integer;
SMTP: TidSMTP;
MP  : TIdMessagePart;  
begin
Result:= RC_UnErr;

Try
Msg:= TIdMessage.Create(NIL);
Msg.Recipients.EMailAddresses:= Rcpt;
Msg.From.Address:= FromAdr;
Msg.Subject:= Subj;
For I:=0 to Attachment.Count-1 do
 begin
  MP:= Msg.MessageParts.Add;
  MP.StoredPathName:= Attachment.Strings[I];
 end;

SMTP:= TIdSMTP.Create(NIL);
SMTP.Username:= User;
SMTP.Password:= Psw;
SMTP.Host:= SMTPHost;
SMTP.Port:= SMTPPort;
Except
Exit;
End;

Try
SMTP.Connect(TimeOut);
SMTP.Send(Msg);
Finally
SMTP.Disconnect;
End;

If Assigned(SMTP) then SMTP.Free;
If Assigned(Msg)  then Msg.Free;

Result:= RC_OK;
end;



Геннадий ©   (2004-04-12 17:09) [1]

После
MP:= Msg.MessageParts.Add;
получается NIL в MP

А если сделать MP:= TIdMessagePart.Create(NIL); то появляется ошибка  TidMessagePart can not be created. Use descendant classes.

В общем, мне очень не понятно, каким образом отправлять письмо с вложением.



Геннадий ©   (2004-04-13 16:29) [2]

IdSMTP1.Connect;
 try
  IdMessage1.Recipients.EMailAddresses := "myaddress@myhost.ru";
  TIdAttachment.Create  (IdMessage1.MessageParts,"test.exe");
  IdMessage1.Body.Text := "сообщение";
  IdMessage1.CharSet := "charset=windows-1251";
  IdMessage1.ContentType := "text/plain";  

  IdSMTP1.Send(IdMessage1);
 finally
  IdSMTP1.Disconnect;
 end;

(c) Rouse_



Fay ©   (2004-04-13 18:11) [3]

Круто! Скопировать и указать копирайт... 8)



Rouse_ ©   (2004-04-13 20:22) [4]

Он просто привел пример верного решения, которое я дал ему сегодня по асе :)



Erik ©   (2004-04-14 09:34) [5]

fIdMessage := TIdMessage.Create(nil);
fAttach := TStringList.Create;




Форум: "Сети";
Поиск по всему сайту: www.delphimaster.net;
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.058 c
1-1084732570      Жека                  2004-05-16 22:36  2004.05.30  
Как в TMemo переходить на нижнюю строку?


3-1083739703      Ирина                 2004-05-05 10:48  2004.05.30  
Вопрос по поводу того как использовать модуль


3-1083104408      Chechen               2004-04-28 02:20  2004.05.30  
SQL запрос


14-1084360870     bon                   2004-05-12 15:21  2004.05.30  
Как отменить все сообщения, посылаемые окну?


6-1081688965      LORDMAXX              2004-04-11 17:09  2004.05.30  
Узнать размер файла по FPT компонент MFtp1