В этом разделе перечислены свойства и методы объекта MimeMessage плагина PluginSmtpClient

Конструктор

new MimeMessage() Создать объект

// Загрузить плагин и Установить в JS конструторы объектов
post.loadPlugin('PluginSmtpClient').install(scriptEngine);

// Создать объект
var message = new MimeMessage();

// Что эквивалентно этому:
var createAutoMimeContent = true;
var message = new MimeMessage(createAutoMimeContent);


Свойства (property)


String message.encodingHeader Чтение/запись
Механизм кодирования заголовков сообщения

// 7Bit             - только латница
// 8Bit             - возможна кириллица но зависит от клиента (Outlook принимает CP-1251 но Qt отправляет в UTF-8)
// Base64           - Подержка кириллицы
// QuotedPrintable  - ХЗ

var encodingHeader = ldap.encodingHeader;   // по умолчанию 8bit (без поддержки кириллицы)

// установить кодировку Base64 для отображения кириллицы в имени получателя и теме письма
message.encodingHeader = 'Base64';



Сигналы

Отсутствуют


Методы

void message.setSender(EmailAddress) Процедура

Установить адрес отправителя


// Адрес, от имени которого будут отсылаться уведомления
var my_email = new EmailAddress("myMail@gmail.com", "Андрей Лесных");

message.setSender(my_email);

...
message.deleteLater(); // Удалить сообщение со всеми дочерними объектами

// Важное дополнение: Объект my_email после того как его установить в качестве
//  адреса отправителя будет принадлежать объекту MimeMessage
// и если в финале выполнить message.deleteLater(), он будет уничтожен

EmailAddress message.getSender() Функция

Прочитать адрес отправителя

var my_email = message.getSender();

EmailAddress message.addRecipient(EmailAddress, RecipientType = To) Функция

Добавить получателя (RecipientType по умолчанию равен RecipientType.To)

//в контексте JS доступен объект RecipientType
//RecipientType = {
// "To":  1, /* primary            - Основной       */
// "Cc":  2, /* carbon copy        - Копия          */
// "Bcc": 3  /* blind carbon copy  - Скрытая Копия  */
//}

var my_email = new EmailAddress("myMail@gmail.com", "Андрей Лесных");

message.addRecipient(my_email);
// Что эквивалентно этому:
message.addRecipient(my_email, RecipientType.To);

...
message.deleteLater(); // Удалить сообщение со всеми дочерними объектами

void message.addTo(EmailAddress) Процедура

Добавить получателя

var my_email = new EmailAddress("myMail@gmail.com", "Андрей Лесных");
message.addTo(my_email);

...
message.deleteLater(); // Удалить сообщение со всеми дочерними объектами

void message.addCc(EmailAddress) Процедура

Добавить получателя копии письма

var my_email = new EmailAddress("myMail@gmail.com", "Андрей Лесных");
message.addCc(my_email);

...
message.deleteLater(); // Удалить сообщение со всеми дочерними объектами

void message.addBcc(EmailAddress) Процедура

Добавить получателя скрытой копии письма

var my_email = new EmailAddress("myMail@gmail.com", "Андрей Лесных");
message.addBcc(my_email);

...
message.deleteLater(); // Удалить сообщение со всеми дочерними объектами

void message.setSubject(String) Процедура

Установить тему сообщения

message.setSubject('Заголовок E-Mail уведомления');

void message.addPart(MimePart) Процедура

Добавить в сообщение

// Добавить текстовку сообщения
var text = new MimeText();
text.text   = "Тестирование плагина E-Mail уведомлений\n";
message.addPart(text);

// Добавить файл в сообщение
var fname = server.parseSpecialFileName('stat@favicon.png');
var attachment = new MimeAttachment(fname);
attachment.contentType = "image/png"; // по умолчанию application/octet-stream
message.addPart(attachment);

...
message.deleteLater(); // Удалить сообщение со всеми дочерними объектами MimeAttachment и MimeText

MimePart::Encoding message.getHeaderEncoding() Функция

Установить тип сообщения

// После установки конструкторов, в контексте JS доступен объект Encoding
//Encoding = {
// "QuotedPrintable":  0,
// "_7Bit":   7,
// "_8Bit":   8,
// "Base64": 64
//}
var enc = message.getHeaderEncoding();
switch(enc)
{
    case Encoding.QuotedPrintable:  ... break;
    case Encoding._7Bit:            ... break;
    case Encoding._8Bit:            ... break;
    case Encoding.Base64:           ... break;
}

void message.setHeaderEncoding(MimePart::Encoding) Процедура

Установить тип сообщения

// После установки конструкторов, в контексте JS доступен объект Encoding
//Encoding = {
// "QuotedPrintable":  0,
// "_7Bit":   7,
// "_8Bit":   8,
// "Base64": 64
//}
message.setHeaderEncoding(Encoding.QuotedPrintable);

arr[EmailAddress] message.getRecipients(RecipientType = To) Функция

Получить список получателей (RecipientType по умолчанию равен RecipientType.To)

//в контексте JS доступен объект RecipientType
//RecipientType = {
// "To":  1, /* primary            - Основной       */
// "Cc":  2, /* carbon copy        - Копия          */
// "Bcc": 3  /* blind carbon copy  - Скрытая Копия  */
//}

var arr = message.getRecipients();
// Что эквивалентно этому:
var arr = message.getRecipients(RecipientType.To);

arr[MimePart] message.getParts() Функция

Получить все добавленные части сообщения

var arr = message.getParts();

MimePart message.getContent() Функция

Получить всё сообщение

var content = message.getContent();

void message.setContent(MimePart) Процедура

Добавить контент в сообщение

var content = message.getContent();

// Создать объект
var message2 = new MimeMessage();
message2.setContent(content);

String message.toString() Функция

Преобразовать все сообщение в строку

var message = new MimeMessage();
// message.setSender()
// message.setSubject()
// message.addRecipient()
// message.addPart()
post.log('i', 'Тело сообщения выгладит как-то так:\n' + message.toString());


  • Плагины

  • PluginSmtpClient

  • Описание объектов

    1. SmtpClient - для рассылки E-Mail уведомлений в JS контексте поста
    2. EmailAddress - Тип данных
    3. MimeMessage - Тип данных
    4. MimeText - Тип данных
    5. MimeHtml - Тип данных
    6. MimeFile - Тип данных
    7. MimeAttachment - Тип данных
    8. MimeInlineFile - Тип данных