Delphi Faq
базы даных
графика и игры
интернет и сеть
компоненты и классы
мультимедиа
ос и железо
программа и интерфейс
рабочий стол
синтаксис
технологии
файловая система
 
 




на главную
Как отправить письмо и указать тему, текст сообщения
Для отправки письма с помощью зарегистрированого клиента используется функция Windows - ShellExecute, где в качестве аргумента передается строка протокола Mailto. Для этого сделайте следующее:


В разделе uses подключите ShellAPI
В обработчике OnClick метки или клавиши введите следующий код.

ShellExecute(Handle, 'open', 'mailto:lalala@lala.ru?par1=value1&par1=value1&...',
nil, nil, SW_SHOWNORMAL);




Третий параметр функции ShellExecute() - это строка в соответствии с протоколом mailto и правилами оформления URL:

mailto:
тип протокола (может быть http: в этом случае оставшая URL и параметры запроса).
lalala@lala.ru
адрес получателя, можно включать несколько адресов, разделяя из символом ";"
?
разделитель параметров от адреса
par1=value1
имя параметра и его значение
&
разделитель параметров
Протокол Mailto имеет следующую форму.



MAILTO:Recipients&Parameters




Поле Recipients может быть пустым, одиночным адресом и состоять из нескольких адресов, разделенных символом ";"
Поле Parameters дополнительно и если оно есть то должно быть отделено символом "&". Параметры должны появляться в форме пары name/value. Следующий список описывает возможные параметры:



PARAMETER DESCRIPTION




CC=
Carbon copy (дополнительные получатели)
BCC=
Blind carbon copy (дополнительные получатели, адреса которых не показываются остальным получателям)
SUBJECT=
Subject text (тема)
BODY=
Body text (текст)
Все данные указываемые в параметрах должны быть так называемые Internet safe characters. Используййте %0d для символа перевод строки (LF), %20 для пробела и так далее.

Пример:



mailto:email1;email2&cc=email3?subject=Это%20тема&
body=это%20текст%20письма%0dЭто%20другая%20строка