function SendMail (Host, Subject, pTo, From , TextBody,
HTMLBody, login,password,filename : string) : boolean;
var Msg : TMimeMess; // сообщение
StringList : TStringList; // содержимое письма
MIMEPart : TMimePart; // части сообщения (на будущее)
begin
Msg := TMimeMess.Create; // создаем новое сообщение
// IdealCharsets:=[CP1251];
// Msg.Header.CharsetCode:='CP1251';
StringList := TStringList.Create;
try
// Добавляем заголовки
Msg.Header.Subject := Subject;// тема сообщения
Msg.Header.From := From; // имя и адрес отправителя
Msg.Header.ToList.Add(pTo); // имя и адрес получателя
// создаем корневой элемент
// MIMEPart := Msg.AddPartMultipart('alternative', nil);
Msg.AddPartMultipart('', nil);
if length(TextBody)=0 then
// если формат HTML
begin
StringList.Text := HTMLBody;
Msg.AddPartHTML(StringList, Msg.MessagePart);
end
else
// если текстовый формат
begin
StringList.Text := TextBody;
Msg.AddPartText(StringList, Msg.MessagePart);
end;
if filename<>'' then
Msg.AddPartBinaryFromFile(filename,Msg.MessagePart);
// Кодируем и отправляем
Msg.EncodeMessage;
// Отправляем.
if smtpsend.SendToRaw(From,pTo,Host,Msg.Lines,login,password) then
SendMail:=true
else
SendMail:=false;
finally
Msg.Free;
StringList.Free;
end;
end;