Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 8
Всего онлайн: 8
Зарегистрировано юзеров: 7324
Комментариев на сайте: 659
Новый юзер: atlyzDral



Последние комментарии
c
dealrattKi прокомментировал "Урок 3 - Конструкция IF...THEN...ELSE":
Всем привет я сегодня увидел что в 1xbet можно получить повышенный бонус и что, для его получения, нужно ввести специальный промокод. Какой промокод на 1xbet нужно вводить?
YonqDox прокомментировал "Урок 53 - Потоки в Delphi, (часть 1/3)":
[url=https://clck.ru/DwfTp]Hacker Forum "Творческая Лаборатория DedicateT"[/url]

Отправка сообщения на E-mail через SMTP

  Как отправить сообщение на почту через Delphi? Очень просто!
И так, начнем с самого обычного процесса: кидания компонентов на форму :)

  1. Компонент IdSMTP из вкладки Indy Clients;
  2. Компонент IdMessage из вкладки Indy Misc;
  3. Компонент IdEncoderMIME1 из вкладки Indy Misc;
  4. Компонент Button из вкладки Standart.
Form
Form

После строки {$R *.dfm} пишем код. Комментарии внутри.
{$R *.dfm}

//Функция конвертирования в кодировку windows-1251
function ConvertToWIN1251(instr:string):string;
begin
  result:='=?'+'Windows-1251'+'?B?'+form1.IdEncoderMIME1.Encode(instr)+'?=';
end;

procedure TForm1.Button1Click(Sender: TObject);
var
attach: TidAttachment;
begin

  IdSMTP1.AuthenticationType:= atLogin;
  IdSMTP1.Username:='user@mail.ru'; //Логин
  IdSMTP1.Password:='password'; //Пароль
  IdSMTP1.Host:='smtp.mail.ru'; //Хост 
  //Хосты: smtp.inbox.ru; smtp.list.ru; smtp.bk.ru; smtp.yandex.ru и т.д.
  IdSMTP1.Port:=25; //Порт (25 - по умолчанию)
  //Порты mail.ru: 587 и 2525 (без шифрования) или 465 (с шифрованием)

  IdMessage1.CharSet:='windows-1251'; //Кодировка в теле сообщения
  IdMessage1.ContentType:='text/plain';
  // или 
  //IdMessage1.ContentType:='text/html'; 
  //если в теле сообщения будет присутствовать HTML код
  IdMessage1.Body.text:='Текст'; //Текст сообщения
  IdMessage1.Subject:=ConvertToWIN1251('Тема'); //Тема сообщения
  IdMessage1.From.Address:='user@mail.ru'; //Адрес отправителя
  //IdMessage1.From.Name:=ConvertToWIN1251('User'); //Имя отправителя
  IdMessage1.Recipients.EMailAddresses:='send_user@mail.ru'; //Кому отправить письмо (можно через запятую если несколько e-mail'ов)
  IdMessage1.IsEncoded:=true;
  //attach:=TIdAttachment.Create(IdMessage1.MessageParts,'Путь до файла'); //Вложение

  try
    //Соединение с почтовым сервером
    IdSMTP1.Connect();
    IdSMTP1.Send(IdMessage1);
    showmessage('Сообщение отправлено');
  except
    showmessage('Ошибка при отправке сообщения');
  end;
//Отсоединяемся от почтового сервера
IdSMTP1.Disconnect;
end;
Вот и всё, Удачи!

Зарегистрируйтесь или авторизуйтесь, чтобы скачать.

Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 27 Апреля 2012
Просмотров: 42639


Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии.



аватар Добавил: oktavius [Новичок] Дата: 2012-11-21
БРАВО!)




аватар Добавил(а): AndHacker [Новичок] Дата: 2014-11-02
Этот пример, сейчас, точно работает?




аватар Добавил(а): Lomanu4 [Новичок] Дата: 2014-11-22
У меня пишет вот такую ахинею вызвал исключение класса eidprotocolreplyerror с сообщением Smtp is available only with SSL or TLS connection enable