Отправка email delphi

Отправка email на Delphi

Зачастую, программы на delphi используют отправку писем средствами email. В этой статье будет полностью рассказано, как отправляется ваше письмо другому пользователю. при помощи delphi. При этом, будем использовать только стандартные компоненты делфи.

Для начала создадим новый проект и назовём его \»Отправка писем средствами delphi\». Затем, на форму необходимо перенести несколько компонентов 1x Memo, 3x Edit, 2x Botton, а также необходимо перенести IdSMTP, IdAntiFreeze, IdMessage. Далее, на событие onclick любой кнопки пишем:

//выбираем SMTP сервер. В данный момент стоит yandex.
IdSMTP1.Host:= 'smtp.yandex.ru';
//ваш логин (для некоторых необходимо писать с доменом).
IdSMTP1.Username:= 'test@yandex.ru';
//пароль от почты.
IdSMTP1.Password:= 'qwerty123';
//порт, рекомендуем использовать 587.
IdSMTP1.Port:=587;

//в Edit2 будет вписываться тема письма.
IdMessage1.Subject:= Edit2.Text;
//в Edit1 будет адрес получателя.
IdMessage1.Recipients.EMailAddresses:= Edit1.Text;
//ваш email с которого идёт отправка.
IdMessage1.From.Address:= 'test@yandex.ru';
//в memo1 будет текст который вы ходите послать.
IdMessage1.Body.Text:= memo1.Text ;
//в Edit3 будет ваша электронная подпись (Имя).
IdMessage1.From.Name:= Edit3.Text;

//соединяемся
IdSMTP1.connect;
//отправляем
IdSMTP1.Send(IdMessage1);
//отсоединяемся
IdSMTP1.Disconnect;

Если IdMessage отображает знаки вопроса

Данный баг связан с тем, что Вы вписываете русские буквы, а компонент memo не может их грамотно прочитать, для этого необходимо указать кодировку Utf8.

IdMessage отображает знаки вопроса
// устанавливаем кодировку
IdMessage1.Charset:='UTF-8';
// переводим текст в нужную кодировку
IdMessage1.Body.Text:=UTF8Encode(memo1.text);
IdMessage отображает знаки вопроса

Socket Error # 10054

Для исправления этой ошибки необходимо использовать отправку письма без SSL, как правило, для этого существуют несколько портов. У яндекса это порт 587.

//Используем порт без SSL
IdSMTP1.Port:=587;

6
Поделиться
Mentor

Уже более четырех лет интернет - моё хобби. Больше всего мне удалось освоить веб-дизайн. В настоящее время активно занят продвижением сайтов.

Оставить комментарий

Войти с помощью: 
Яндекс.Метрика