Email сообщения средствами delphi



Здравствуйте, сегодня мы будем разбирать программу отправки emailсообщений с помощью средств Delphi. Данная программа послужит нам материалом для будущего урока по программной отправке SMSсообщений абонентам основных Российских операторов сотовой связи.
Итак, приступим!

Для начала разместим на форме 5 компонентов:
1. 2 кнопки(Connect и Send)
2. Tmemo(текст сообщения)
3. IdSMTP(компонент отправки)
4. IdAntiFreeze(объясню позже)



Email будет отправляться через компонент IdSMTP, следовательно, нам нужно знать smtp-адрес сервера, через который мы будем отправлять сообщение. Обычно, достаточно просто добавить «smtp» перед адресом почтового сервиса. Пример: smtp.gmail.ru
Порт этих серверов почти всегда равен 25.
Далее нам понадобится почтовый ящик сервиса, через который будет отправлено наше сообщение, для примера я использовал рамблер.

Перейдем непосредственно к коду.

Кнопка connect:

procedureTForm1.Button2Click(Sender: TObject);
begin
try
IdSMTP1.AuthType:=satdefault;
IdSMTP1.Host:='smtp.rambler.ru'; //smptадресс
IdSMTP1.Port:=25;//порт
IdSMTP1.Username:='vasya@rambler.ru';//ваш почтовый ящик
IdSMTP1.Password:='123password';//пароль от почты
IdSMTP1.Connect;//соединение с сервером
except
one:Exception do
end;
end;


К серверу мы подключились, теперь можно отправлять сообщение.

Код кнопки Send:

procedure TForm1.Button1Click(Sender: TObject);
var
msg:TIdMessage;//переменная для содержания и отправки сообщения
begin
try
msg:=TIdMessage.Create(nil);//создание не визуального компонента TIdmessage
msg.Body.assign(memo1.lines);//Содержание письма из компонента memo
msg.Subject:='nazvanie';//заголовок письма
msg.From.Address:='vasya@rambler.ru';//ваша почта
msg.From.Name:='name';//Имя отправителя
msg.Recipients.EMailAddresses:='lider@gmail.com';//почта на которую отправляем письмо
msg.CharSet:='koi8-r';//кодировка из Unicode, если хотите отправлять сообщения на русском
IdSMTP1.Send(msg);//отправка
msg.Free;//освобождение переменной от данных
IdSMTP1.Disconnect;
except
on e:Exception do
begin
msg.Free;
IdSMTP1.Disconnect;
end;
end;
end;


*Компонент IdAntiFreezeиспользуется для предотвращения «подвисаний» программы во время работы с сетью. Для его активации, достаточно просто размещения на форме.

Готово! Можете проверять свой почтовый ящик, на наличие там письма! Успехов!
Теги:
IdSMTP1, отправки, сообщение, отправлять, письма, сообщения, через, rambler, почтовый, будем, begin, компонент, компонента, форме, почта, IdSMTP, Connect, gmail, кнопки, Здравствуйте
Добавлено: 24 Февраля 2015 17:13:17 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...