Как отправить письмо и указать тему, текст сообщения
|
Мужик работает на участке около своего дома. Из соседнего дома выходит его соседка-блондинка, открывает свой почтовый ящик, заглядывает туда, захлопывает и убегает обратно в дом. Немного погодя, соседка выбегает снова, заглядывает в почтовый ящик и снова убегает обратно. Когда все повторяется в третий раз, мужик не выдерживает:
- В чем дело? Что-нибудь случилось?
- Это точно, что что-то случилось. Мой дурацкий компьютер все время сообщает: "Уou've got mail"
|
Для отправки письма с помощью зарегистрированого клиента используется функция 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. Следующий список описывает возможные параметры:
- 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строка
|
|