send. Отправка сообщения по электронной почте

^mail:send[сообщение]

Метод отправляет
сообщение на заданный адрес электронной почты. Можно указать несколько адресов через запятую.

Пример
^mail:send[
      $.from[
Вася <vasya@hotmail.ru>]
      $.to[
Петя <petya@hotmail.ru>]
      $.subject[
как дела]
      $.text[
Как у тебя дела? У меня - изумительно!]
]

В результате будет отправлено сообщение для 
petya@hotmail.ru с содержимым «Как у тебя дела? У меня - изумительно!»

сообщение - хеш, в котором могут быть заданы такие ключи:
·поле_заголовка  
·text  
·html  
·file  
·charset  
·options  
·print-debug   [3.4.0]  

charset - если задан этот ключ, то заголовок и текстовые блоки сообщения будут перекодированы в указанную кодировку. По умолчанию сообщение отправляется в кодировке, заданной в $request:charset (т. е. не перекодируется).

Пример
$.charset[koi8-r]

options
- эти опции будут переданы в командную строку программе sendmail (только под UNIX).

print-debug
- при указании этой опции письмо не будет отправлено, вместо этого будет выведен полный сформированный текст письма, что может быть удобно при отладке сложных HTML-писем.

Также можно задать все поля заголовка сообщения, передав их значение в таком виде (короткая форма):
$.поле_заголовка[строка]

или с параметрами (полная форма):
$.поле_заголовка[
    $.value[
строка]
    $.параметр[
строка]
]


Примеры
$.from[Вася <vasya@hotmail.ru>]
$.to[
Петя <petya@hotmail.ru>]
$.subject[Как у тебя дела? У меня - изумительно!]
$.x-mailer[Parser 3]

Кроме заголовка, можно передать один или оба текстовых блока:
text, html, а также любое количество блоков file и message (см. ниже). Если будут переданы оба текстовых блока, будет сформирована секция MULTIPART/ALTERNATIVE, при прочтении полученного сообщения современные почтовые клиенты покажут HTML, а устаревшие - простой текст.

Короткая форма:
$.text[строка]

Полная форма:
$.text[
    $.value[
строка]
    $
.поле_заголовка[значение]
]


…где
value - значение тестового блока, предусмотрена возможность задать все поля заголовка сообщения, передав их в хеше, как у сообщение (см. выше).

Внимание: можно не передавать заголовок
content-type, он будет сформирован автоматически. Этот заголовок не влияет на перекодирование, а влияет только на ту кодировку, в которой почтовый клиент будет отображать сообщение.

Отправка HTML. Короткая форма:
$.html{строка}
Полная форма:
$.html[
    $.value{
строка}
    $.поле_заголовка[
значение]
]


Фигурные скобки нужны для переключения
вида преобразования по умолчанию на 
HTML.

Вложение файла. Короткая форма:
$.file[файл]

Полная форма:
$.file[
    $.value[
файл]
    $.name[имя_файла]
    
$.content-id[XYZ]
    
$.format[uue|base64]
    $
.поле_заголовка[значение]
]

Файл
 - объект класса file, который будет прикреплен к сообщению. MIME-тип данных (content-type заголовок части) определяется по таблице MIME-TYPES (см. Конфигурационный метод).

Имя_файла
 - имя, под которым файл будет передан.

По умолчанию файл будет передан
в формате uuencode (uue) до версии 3.4.0 и в формате base64, начиная с версии 3.4.0.

Вложение сообщения:
$.message[сообщение]

Формат сообщения такой же, как у параметра всего метода.

Вложений может быть несколько, для чего после имени следует добавить целое число. Пример:
    $.file
    $.file
2
    $.message
    $.message
2

Пример с альтернативными блоками и вложениями:
^mail:send[
    $.from[
Вася <vasya@hotmail.ru>]
    $.to[
Петя <petya@hotmail.ru>]
    $.subject[
как дела]
    $.text[
Как у тебя дела? У меня изумительно!]
    $.html{
Как у тебя дела? У меня <b>изумительно</b>!
        <br /><img src="cid:pic2" width="100" height="50" border="0" />
    
}
    $.file[^
file::load[binary;perfect_life1.jpg]]
    $.file2[
        $.value[^file::load[binary;
perfect_life2.jpg]]
        $.name[
изумительная_жизнь2.jpg]
        $.content-id[pic2]
    ]
]

В результате будет отправлено сообщение для 
petya@hotmail.ru с содержимым «Как у тебя дела? У меня - изумительно!» в простом тексте и HTML. Сообщение будет содержать два изображения: perfect_life1.jpg - в виде аттачмента и perfect_life2.jpg - в теле письма.


Copyright © 1997–2024 Art. Lebedev Studio | http://www.artlebedev.ru Дата обновления: 14.10.2024