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

Конструктор

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

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

// Создать объект, к свойствам и
// методам которого можно обращаться в стиле Qt
var smtp = new SmtpClient();
smtp.host = 'smtp.gmail.ru'; // установить адрес smtp сервера
smtp.port = 465;             // установить порт smtp сервера
smtp.connectionType = 'Ssl';

// Или (эквивалентно)
var smtp = new SmtpClient("smtp.gmail.com");
smtp.port = 465;             // установить порт smtp сервера
smtp.connectionType = 'Ssl';

// Или (эквивалентно)
var smtp = new SmtpClient("smtp.gmail.com", 465);
smtp.connectionType = 'Ssl';

// Или (эквивалентно)
var smtp = new SmtpClient("smtp.gmail.com", 465, 'Ssl');


Свойства (property)

Пример использования:

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

// Создать объект, к свойствам и
// методам которого можно обращаться в стиле Qt
var smtp = new SmtpClient("smtp.gmail.com", 465, ConnectionType.SslConnection);

//свойство параметра чтение/запись:

var user = smtp.user;           // Чтение

var user = "myMail@gmail.com";
smtp.user = user;               // Запись

String smtp.user Чтение/запись
Логин к почтовому аккаунту

var user = "myMail@gmail.com";
smtp.user = user;


String smtp.password Чтение/запись
Пароль к почтовому аккаунту

var pass = "myMailPass";
smtp.password = pass;


int smtp.connectionType Чтение/запись
Тип соединения (использовать глобальный объект ConnectionType) по умолчанию ConnectionType.TcpConnection

var connectionType  = smtp.connectionType;       // по умолчанию ConnectionType.TcpConnection
smtp.connectionType = ConnectionType.TcpConnection;
// Или
smtp.connectionType = ConnectionType.SslConnection;
// Или
smtp.connectionType = ConnectionType.TlsConnection;


int smtp.port Чтение/запись
Установить порт smtp сервера

var port = smtp.port;   // по умолчанию '25'
smtp.port = 465;        // установить порт smtp сервера


String smtp.host Чтение/запись
Установить адрес smtp сервера

var host  = smtp.host;      // по умолчанию 'localhost'
smtp.host = 'smtp.mail.ru'; // установить адрес smtp сервера


String smtp.name Чтение/запись
Установить имя хоста, от имени которого отслается сообщение
(не принципиальное свойство, для работы достаточно значения по умолчанию)

var name  = smtp.name;  // по умолчанию 'localhost'
smtp.name = 'Lesav.ru'; // установить имя хоста


String smtp.authMethod Чтение/запись
Установить метод авторизации
Для авторизации на exchange сервисах Microsoft, необходимо указывать метод 'Login'

var authMethod  = smtp.authMethod;      // по умолчанию 'Plain'
smtp.authMethod = 'Login'; // установить метод авторизации


String smtp.responseText только чтение
Ответ сервера

// Вывод в лог ответ сервера
post.log('i', 'responseText = ' + smtp.responseText)


int smtp.responseCode только чтение
Код ответа сервера

// Вывод в лог ответ сервера
post.log('i', 'responseCode = ' + smtp.responseCode)


int smtp.connectionTimeout Чтение/запись
Таймаут соединения в ms

var timeout  = smtp.connectionTimeout;  // по умолчанию '5000' ms
smtp.connectionTimeout = 10000;         // установить Таймаут соединения


int smtp.responseTimeout Чтение/запись
Таймаут ответа в ms

var timeout  = smtp.responseTimeout;  // по умолчанию '5000' ms
smtp.responseTimeout = 10000;         // установить Таймаут ответа


int smtp.sendMessageTimeout Чтение/запись
Таймаут отсылки в ms

var timeout  = smtp.sendMessageTimeout;  // по умолчанию '60000' ms
smtp.sendMessageTimeout = 30000;         // установить отсылки



Сигналы

void smtp.smtpError(int e);

генерируется объектом SmtpClient при неудачном соединении с smtp сервером

// подсоединить к сигналу smtpError функцию обработчик
smtp.smtpError.connect(function smtpError(err){
    post.log("e", 'Ошибка соединения: ' + smtp.getErrString(err));
});
// эквивалентно следующей конструкции
function smtpError(err){
    post.log("e", 'Ошибка соединения: ' + smtp.getErrString(err));
}
smtp.smtpError.connect(smtpError);

void smtp.smtpErrorStr(String e);

генерируется объектом SmtpClient при неудачном соединении с smtp сервером

// подсоединить к сигналу smtpError функцию обработчик
smtp.smtpError.connect(function smtpError(err){
    post.log("e", 'Ошибка соединения: ' + err);
});
// эквивалентно следующей конструкции
function smtpError(err){
    post.log("e", 'Ошибка соединения: ' + err);
}
smtp.smtpError.connect(smtpError);


Методы

bool smtp.connectToHost() Функция

Создать соединение с smtp сервером

if(smtp.connectToHost())
{
    smtp.login();
    if(smtp.sendMail(message))
        post.log('i', '============ Сообщение успешно отправлено');
    else
        post.log('e', '============ Сообщение не отправлено');

    smtp.quit();
} else {
    post.log('e', '============ Ошибка соедиинения');
}

bool smtp.login() Функция

Авторизоваться на сервере

smtp.connectToHost();
if(smtp.login())
{
    if(smtp.sendMail(message))
        post.log('i', '============ Сообщение успешно отправлено');
    else
        post.log('e', '============ Сообщение не отправлено');
} else {
    post.log('e', '============ Ошибка авторизации');
}
smtp.quit();

void smtp.quit() Функция

Завершить работу с сервером

smtp.quit();

bool smtp.sendMail(MimeMessage *email) Функция

Отправить сообщение

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

// Создать объект, к свойствам и
// методам которого можно обращаться в стиле Qt
var smtp = new SmtpClient("smtp.gmail.com", 465, ConnectionType.SslConnection);

// Обработчик возвращаемых ошибок
smtp.smtpErrorStr.connect(function smtpErrorStr(e){
    post.log('e', '============ Ошибка: ' + e);
})

// Аутентификация аккаунта, от которого будут отсылаться уведомления
smtp.user = "_lesandv_@gmail.com";
smtp.password = "myMailPass";

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

// Создать сообщение
var message = new MimeMessage();
message.setSender(my_email);

// Добавить прямых получателей
message.addTo(new EmailAddress('_lesav_@inbox.ru', "Андрей Лесных"));
message.addTo(new EmailAddress('_wtin_@rambler.ru', "Юрий Гнетнев"));

// Добавить Кому отправить копии
message.addCc(new EmailAddress('_lesnyx_@pochta.ru', "Андрей Лесных"));
message.addCc(new EmailAddress('_wtinvs_@gmail.com', "Юрий Гнетнев"));

// Добавить Кому отправить скрытые копии
message.addBcc(new EmailAddress('_lesnyx_@ya.ru', "Андрей Лесных"));
message.addBcc(new EmailAddress('_wtinvs_@gmail.com', "Юрий Гнетнев"));

// Установить тему сообщения
message.setSubject("jCjS v."+server.info('jcjs_ver')+': Плагин SmtpClient. Тестирование отсылки');

// Создать текстовое сообщение (можно использовать new MimeHtml() для создания html сообщения)
var text = new MimeText();
text.text   = "Тестирование плагина E-Mail уведомлений,\nпроверка прикрепления файлов.\n\n"
            + "stat@favicon.png\n";
message.addPart(text);

// Аттач файла
var fname = server.parseSpecialFileName('stat@favicon.png');
var attachment1 = new MimeAttachment(fname);
attachment1.contentType = "image/png"; // по умолчанию application/octet-stream
message.addPart(attachment1);

smtp.connectToHost();
smtp.login();
if(smtp.sendMail(message))
    post.log('i', '============ Сообщение успешно отправлено');
else
    post.log('e', '============ Сообщение не отправлено');
smtp.quit();


  • Плагины

  • PluginSmtpClient

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

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