Delphirus - прграммирование на delphi
   Все о delphi Delphirus - прграммирование на delphi
blocks.gif
Навигация
 

Главная
Статьи
Базы данных
Графика
Защита
Интернет
Система
Тексты
Мультимедиа
Файлы
Формы и окна
Другое
Советы
Базы данных
Графика
Интернет
Мультимедиа
Система
Тексты
Файлы
Файлы
Исходники
Компоненты
Инфо
Поиск по сайту
Обратная связь
Самое популярное
Аккаунт
Карта сайта

 
story.gif
Отправка письма средствами Borland Delphi
 
Интернет Статья рассказывает о способах отправки письма без использования почтовых клиентов. В качестве базы рассматривается стандартный набор компонентов Borland Delphi.

Очень часто в форумах, посвященных программированию сети Internet, встречается вопрос: «Как отправить электронное письмо, не используя при этом почтовый клиент?». Я попытаюсь ответить на этот вопрос и подобрать оптимальный вариант решения этой проблемы.

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

Компонент TNSMTP позволяет отправлять электронную почту через почтовый сервер или выполнять другие команды, описанные в стандарте RFC 821. Данный компонент работает по протоколу SMTP (Simple Mail Transfer Protocol). По стандарту RFC 821 протокол SMTP использует порт 25. При подключении к почтовому серверу необходимо знать учетную запись (login) своего почтового ящика. Чаще всего, имя пользователя - это начальная часть вашего почтового адреса – до символа «@». Так же для подключения к SMTP серверу необходимо знать его адрес. Адрес своего почтового сервера указывается при создании на нем почтового ящика. Стоит заметить, что адрес почтового ящика и адрес сервера – это совершенно разные вещи.

Создадим небольшой пример. Добавим на форму стандартную кнопку и компонент TNSMTP.

Расположение компонента TNSmtp

Собственно, Вы можете и не добавлять на форму данный компонент, а просто прописать его в строках Uses. Такой вариант очень полезен, если Вы пишете программу в «консольном» режиме.

Uses .., NMsmtp;

Но этого мы делать не будем. В обработчик кнопки поместим код расположенный ниже.


procedure TForm1.Button1Click(Sender: TObject);
begin
NSMTP1.Host := 'smtp.Inbox.ru'; {адрес SMTP сервера (или IP-Адресс)}
NSMTP1.Port := 25; {Порт SMTP сервера (по стандарту RFC 821 равен 25)}
NSMTP1.Connect; {Подключение к SMTP серверу}
With NSMTP1 do
begin
Charset := 'windows-1251'; {Кодировка письма}
PostMessage.FromAddress:='homosapienz@inbox.ru'; {Отправитель письма}
PostMessage.ToAddress.Text:='homosapienz@inbox.ru'; {Получатель письма}
PostMessage.Body.Text:='Письмо отправлено с помощью Delphi'; {Текст письма}
SendMail; {Отправляем письмо}
end;
{Проверяем состояние подключения}
if NSMTP1.Connected then
NSMTP1.Disconnect; {Отключение от сервера}
end;

Для корректной работы компонента необходимо заполнить свойства Host и Port. Для того чтобы подключиться к серверу, необходимо вызывать метод Connect, а для отключения - Disconnect. Главное свойство компонента TNSMTP - PostMessage. Это свойство содержит в себе информацию об отправляемом письме: ToAddress (адрес получателя), FromAddress (адрес отправителя), Body (текст письма), Subject (тема письма) и FromName (имя отправителя). После отправки письма необходимо отключиться от сервера, используя метод Disconnect.

К сожалению, я не могу описать все свойства и методы компонента TNSMTP в рамках этой статьи, но я надеюсь, что изложенного в этой статье хватит для написания простейшей программы.

Автор статьи: Волков Михаил (независимый специалист по сетевому программированию)

 
Разместил 26/01/2004 от rolcom ( Прочитано: )

  blocks.gif
Связанные ссылки
 

· Больше про Интернет
· Новость от rolcom


Самая читаемая статья: Интернет:
Создание многопользовательских приложений на базе сокетов

 
blocks.gif
Рейтинг статьи
 

Средняя оценка: 4
Ответов: 6


Пожалуйста, проголосуйте за эту статью:

Отлично
Очень хорошо
Хорошо
Нормально
Плохо


 
blocks.gif
опции
 


 Напечатать текущую страницу  Напечатать текущую страницу

 Отправить статью другу  Отправить статью другу

 
 

Page generation 0.037 seconds