скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

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



Google  
 

Как отправить письмо и указать тему, текст сообщения




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

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

  1. В разделе uses подключите ShellAPI
  2. В обработчике 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строка 






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook