SendMail vs OutLook
Скачать (rar-файл; Размер - 93299)Обсудить в форуме
Описание
аналог sendmail под Windows. можно вызовать из userXfin.mac, и из других макросов.
на вход текстовый файл вида:
Host:smtp.mail.ru
Port:25
UserID:mailrobot
Password:pswd
FROM:mailrobot
TO:support@softlab.ru
BCC:7903ххххххх@sms.beemail.ru
FILE:sendmail.dpr
FILE:1.txt
SUBJECT:тУвБОЛ УОПЧБ ЛПМВБУЙФ!
тУвБОЛ УОПЧБ ЛПМВБУЙФ!
из командной строки выглядит так:
sendmail.exe < "имяфайла"
из макроса чтото типа:
Run ("sendmail.exe "," < имяфайла");
можно рассылать уведомления клиентам, типа "На Ваш счет поступило 100р. от ООО "АБВГД" и т.п.
на вход текстовый файл вида:
Host:smtp.mail.ru
Port:25
UserID:mailrobot
Password:pswd
FROM:mailrobot
TO:support@softlab.ru
BCC:7903ххххххх@sms.beemail.ru
FILE:sendmail.dpr
FILE:1.txt
SUBJECT:тУвБОЛ УОПЧБ ЛПМВБУЙФ!
тУвБОЛ УОПЧБ ЛПМВБУЙФ!
из командной строки выглядит так:
sendmail.exe < "имяфайла"
из макроса чтото типа:
Run ("sendmail.exe "," < имяфайла");
можно рассылать уведомления клиентам, типа "На Ваш счет поступило 100р. от ООО "АБВГД" и т.п.
Текст примера
{$APPTYPE CONSOLE}
Program SendMail;
Uses
SysUtils, IdMessage, IdSMTP;
Var
ss,
s : AnsiString;
MESS : TIdMessage;
SMTP : TIdSMTP;
Begin
SMTP:=TIdSMTP.Create(nil);
MESS:=TIdMessage.Create(nil);
SMTP.Port:=25;
ss:='';
while(true)do
begin
ReadLn(s);
if(UpperCase(Copy(s,1,5))='HOST:') then SMTP.Host := Copy(s,6,length(s)) else
if(UpperCase(Copy(s,1,5))='PORT:') then SMTP.Port := StrToInt(Copy(s,6,length(s))) else
if(UpperCase(Copy(s,1,7))='USERID:') then SMTP.UserID := Copy(s,8,length(s)) else
if(UpperCase(Copy(s,1,8))='PASSWORD:')then SMTP.Password := Copy(s,9,length(s)) else
if(UpperCase(Copy(s,1,5))='FROM:') then MESS.From.Text := Copy(s,6,length(s)) else
if(UpperCase(Copy(s,1,3))='TO:') then MESS.Recipients.EMailAddresses := Copy(s,4,length(s)) else
if(UpperCase(Copy(s,1,3))='CC:') then MESS.CCList.EMailAddresses := Copy(s,4,length(s)) else
if(UpperCase(Copy(s,1,3))='BCC:') then MESS.BccList.EMailAddresses := Copy(s,5,length(s)) else
if(UpperCase(Copy(s,1,8))='SUBJECT:') then MESS.Subject := Copy(s,9,length(s)) else
if(UpperCase(Copy(s,1,5))='FILE:') then TIdAttachment.Create(MESS.MessageParts, Copy(s,6,length(s)))
else
if(s='')then break else ss:=s+'';
end;
MESS.Body.Add(ss);
SMTP.AuthenticationType := atNone;
try
SMTP.Connect;
except
on E: Exception do
begin
writeln('Error: SMTP.Connect');
writeln(E.Message);
Halt(1);
end;
end;
try
SMTP.Send(MESS);
writeln('OK.');
except
on E: Exception do
begin
writeln('Error: SMTP.Send');
writeln(E.Message);
Halt(2);
end;
end;
try
SMTP.Disconnect;
SMTP.Free;
MESS.Free;
except
on E: Exception do
begin
writeln(E.Message);
Halt(3);
end;
end;
End.

,