Отправка 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.

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

Socket Error # 10054

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

//Используем порт без SSL
IdSMTP1.Port:=587;
Читайте также:  Работа с ini файлами в Delphi
Рейтинг
( Пока оценок нет )
Блог о программировании, продвижении и дизайне.
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector