В этом разделе перечислены свойства и методы объекта MimeMessage плагина PluginSmtpClient
new MimeMessage() Создать объект
// Загрузить плагин и Установить в JS конструторы объектов
post.loadPlugin('PluginSmtpClient').install(scriptEngine);
// Создать объект
var message = new MimeMessage();
// Что эквивалентно этому:
var createAutoMimeContent = true;
var message = new MimeMessage(createAutoMimeContent);
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());