Меню сайта
Мини-чат
Чтобы добавить сообщение, необходимо авторизоваться.
Главная » Статьи » Delphi » Примеры на Delphi7

Отправка сообщения на мыло
Сейчас я вам покажу пример, как можно отправить email сообщение на Delphi. Положите на форму компонент 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;

Если вы хотите отправлять сообщение email через какой-то промежуток времени, просто поместите
mailsend;
f.IdSMTP1.Disconnect;

в Timer1, задав таймеру нужный промежуток времени.

Теперь приведу пример для ручного ввода данных для отправки email сообщения. Положите на форму компонент 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;

Категория: Примеры на Delphi7 | Добавил: DelphiAiX (20.03.2011)
Просмотров: 3639 | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]