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


Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 4
Всего онлайн: 4
Зарегистрировано юзеров: 5683
Комментариев на сайте: 619
Новый юзер: `Alinka1997



Последние комментарии
c
baxodir прокомментировал "Урок 23 - Функции для работы с мышью":
Но Это мало можно ещё больше
pronin106 прокомментировал "Урок 27 - Создаем игру Ping-pong - часть(2/3)":
Все получилось! Спасибо за урок. У кого не получилось читайте внимательнее! Не делайте тупо копипаст



Мы в соцсетях
c
Delphi
Отправка сообщения на 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
Просмотров: 20014


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



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




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




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