Отправляем и-майл на Дельфи

Попробуем рассмотреть интересный пример, как можно почтовое сообщение отправить на Дельфи...
Для начала положим на форму два компоненты: IdSMTP и IdMessage
Далее создадим процедуру отправки самих сообщений
procedure mailsend;
var
attach: TidAttachment;
msg: tidmessage;
i: integer;
begin
f.idSMTP1.AuthenticationType:= atLogin;
f.idSMTP1.Username:='login'; // ваш логин
f.idSMTP1.Password:='pass'; // здесь пароль
f.idSMTP1.Host:='smtp.mail.ru'; // здесь хост mail.ru
f.IdSMTP1.Port:=2525; // тут порт mail.ru
msg:=TIdMessage.Create(nil);
msg.Body.Add('Body'); // тут сообщение письма
msg.Subject:='mail'; // здесь заголовок письма (Тема)
msg.From.Address:='xxx@xx.xx'; // вписываем отправителя письма
msg.From.Name:='message'; // указываем имя отправителя
msg.Recipients.EMailAddresses:='xxx@xx.xx'; // пишем кому именно надо отправить письмо
msg.IsEncoded:=true;
attach:=TIdAttachment.Create(msg.MessageParts,'attach.exe'); // можно комментировать данную строчку в том случае, если вы хотите отправить само письмо с вложением, где attach.exe, тот файл, который и должен в той же директории лежать что и наша программка
f.idSMTP1.Connect();
if f.idSMTP1.Connected then
begin
f.idSMTP1.Send(msg);
end
else
f.IdSMTP1.Disconnect;
end;
Уже сейчас вызвать можно процедуру mailsend
procedure Tf.Button1Click(Sender: TObject);
begin
mailsend;
f.IdSMTP1.Disconnect;
end;
В случае желания отправить сообщение свое через какое то время, только поместите
mailsend;
f.IdSMTP1.Disconnect;
в Timer1, тем самым задав последнему необходимый временной интервал.
А как же вручную ввести данные для отправки майла. Оказывается тоже не слишком сложно J Ложим на нашу форму компоненты IdSMTP и IdMessage
procedure Tf.FormCreate(Sender: TObject);
begin
Edit1.Text := 'login'; // указываем собственный логин
Edit2.Text := 'pass'; // указываем правильный пароль
Edit3.Text := 'smtp.mail.ru'; // указываем хост mail.ru
Edit4.Text := '2525'; // прописываем порт
Edit5.Text := 'mail'; // указываем заголовок письма (Тема)
Edit6.Text := 'ваше имя'; // пишем имя отправителя
Edit7.Text := 'xxx@xx.xx'; // пишем кому именно необходимо отправить наше письмо
Edit8.Text := 'xxx@xx.xx'; // указываем от кого отправляем письмецо
Memo1.Text := 'привет'; // прописываем сообщение письма
end;
И в самом конце, отправляем майл легким нажатием Button1
procedure Tf.Button1Click(Sender: TObject);
var
msg:tidmessage;
i:integer;
begin
f.idSMTP1.AuthenticationType := atLogin;
f.idSMTP1.Username := Edit1.Text;
f.idSMTP1.Password := Edit2.Text;
f.idSMTP1.Host := Edit3.Text;
f.IdSMTP1.Port := StrToInt(Edit4.Text);
msg:=TIdMessage.Create(nil);
msg.Body.Add(Memo1.Text);
msg.Subject := Edit5.Text;
msg.From.Address := Edit8.Text;
msg.From.Name := Edit6.Text;
msg.Recipients.EMailAddresses := Edit7.Text;
msg.IsEncoded := true;
f.idSMTP1.Connect();
if f.idSMTP1.Connected then
begin
f.idSMTP1.Send(msg);
end
else
f.IdSMTP1.Disconnect;
ShowMessage('Сообщение отправлено!');
end;
Все…
Спонсор поста: сервис websozdanie.ru - это не только грамотная поддержка и сопровождение web сайтов за разумные деньги, но и полное комплексное обслуживание сайта, которое в себя включает как техническую, так и информационную поддержку сайта.