В этом разделе перечислены свойства и методы объекта 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');
Пример использования:
// Загрузить плагин и Установить в 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; // установить отсылки
генерируется объектом 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();