Отправка email средствами Delphi. Часть 1

3 минуты на чтение
Плавно подходим мы к отправке sms-сообщений через sms-шлюз операторов сотовой связи. В данной статье мы рассмотрим как вообще можно отправить сообщение (email-сообщение) средствами Delphi. Отсылать email-сообщения мы будем через TidSMTP. То есть получается, что, нам надо знать адресс smtp-сервера, с которого мы будем отсылать сообщение. Обычно, сервисы, которые предоставляют услуги почты, перед их адрессом приписывается smtp и получается адресс smtp-сервера. В итоге возьмем rambler.ru. Соответственно, подставим smtp и получим smtp.mail.ru — это и есть адресс нашего smtp-сервера, порт почти везде одинаков данных серверов и он равняется 25. Это нам все пригодится при подключении к нашей серверу. Далее нам необходим наш пароль и логин с rambler.ru для подключения к нашей почте, с которой мы будем отсылать сообщения. Теперь приступим на форму установим следующие компоненты
  • TidSMTP
  • TidAntiFreeze
  • TButton
Компоненты на форме, значит осталось как ничего подключиться к нашему серверу и отправить сообщения. Для подключения к нашему серверу на событие формы OnCreate напишем следующий код

procedure TForm1.FormCreate(Sender: TObject);
begin
try
IdSMTP1.AuthenticationType:=atLogin;
IdSMTP1.Host:='smtp.rambler.ru';
IdSMTP1.Port:=25;
IdSMTP1.Username:='username@rambler.ru';
IdSMTP1.Password:='password';
IdSMTP1.Connect;
except
on e:Exception do
end;
end;

Строчка IdSMTP1.AuthenticationType:=atLogin; указывает на то, что мы авторитизируемся на нашем сервере. Это у нас и есть подключение к нашему smtp-серверу, с помощью Connect мы указываем, что подключаемся. Далее нам необходимо отправить сообщение, для этого существует специальный тип данных TidMessage, который определяет полностью формат нашего отправляемого письма. Чтобы использовать данный тип данных, необходимо в Uses подключить модуль idmessage. Для начала его необходимо создать и затем заполнить по определенному шаблону и после чего отослать на нужный нам адресс. Теперь на событие TButton - Onclick напишем заполнение нашего сообщения и отправку его.

procedure TForm1.Button1Click(Sender: TObject);
var
msg:TIdMessage;
begin
try
msg:=TIdMessage.Create(nil);
msg.Body.Add('test mail');
msg.Subject:='header message';
msg.From.Address:='punisher45@rambler.ru';
msg.From.Name:='Andrey';
msg.Recipients.EMailAddresses:='punisher_z53@mail.ru';
msg.IsEncoded:=True;
IdSMTP1.Send(msg);
msg.Free;
IdSMTP1.Disconnect;
except
on e:Exception do
begin
msg.Free;
IdSMTP1.Disconnect;
end;
end;
end;

Теперь можете залезть на эмаил, куда вы отправляли письмо и убедиться, что оно пришло, если конечно ошибок при отправке никаких не было.Как видите Body.Add — задает текст сообщения, Subjects - заголовок сообщения, From.Adress — адресс отправителя, From.Name — имя отправителя, Recipients.EMailAddresses- определяет адрессат получателя (то есть кому отправляем мы email). В конце мы просто отключаемся от нашего smtp-сервера при помощи метода Disconnect.

Отправка писем не сложна, а отправка sms-сообщений через sms-шлюз еще проще, что мы и посмотрим в следующей статье про отправку sms-сообщений. А в дальнейшем посмотрим как можно прилаживать файлы к своему письму.

Facebook Vk Ok LinkedIn Telegram

Похожие записи:

Ну вот наконец-то, мы добрались и до отправке sms-сообщений через sms-шлюз средствами Delphi. Теоретическую часть sms-шлюза мы знаем, а также знаем как отправлять email-сообщения средствами Delphi. Это нам все и пригодится в данной статье. Давайте вспомним, чт...
Итак мы многое уже знаем, как отправлять email-сообщения средствами Delphi, через smtp-сервер. Как мы знаем для этого нам нужен компонент TidSMTP ну и конечно же как же без него — это TidAntiFreeze. Также мы уже в курсе как отправлять смс-сообщения, используя ...
Всем привет, в самом начале открытия данного сайта, я писал статьи по отправке email средствами Delphi, а также отправке sms-сообщений , где использовал компонент TidSMTP. Возможно в тех статьях, я рассмотрел не все аспекты по работе с email, вот мне один из ...