Добрый день!
пытаюсь отправлять письма черезе Notify.sendEmail(), письма отправляются но приходят с пустой темой письма (Без темы). Подскажите пожалуйста что необходимо донастроить. На контроллере стоит последняя прошивка, контроллер 8.5
Добрый день,
попробуйте данную конструкцию
Notify.sendEmail("email@example.com", "Тема письма", "Текст письма");
отправил 05.03.2025 в 12.02
Добрый день
Получилось ли решить вопрос?
нет, проблемма остается, даже не знаю куда копать. Вам пришло письмо и в каком виде?
Добрый день!
Рекомендую проверить все настройки согласно данной статье.
Обратите внимание на конец статьи, там описан именно ваш случай.
Все настроенно согласно этой статье, письма отправляются, но в пришедших письмах тема письма пустая. Возможно есть дополнительные настройки?
Добрый день попробуйте данную конструкцию.
defineRule("send_email_on_start", {
when: function () { return true; }, // Условие срабатывания - запуск движка
then: function () {
log("Отправка письма при старте wb-rules...");
Notify.sendEmail(
"Ваш почтовый адрес",
"проверочная тема", // Тема письма
"проверочный текст" // Тело письма
);
log("Письмо отправлено успешно.");
},
runAfterStartup: true // Выполнять только один раз при старте движка правил
});
ситуация не меняется, проблема не в том как вызывается Notify.sendEmail() а в том как он отрабатывает, т.е. что то не так происходит внутри этого метода.
Добрый день,
Рекомендую проверить настройки и выполнить следующую команду:
echo -e "Subject: проверочная тема\n\nпроверочный текст" | ssmtp email
После выполнения сообщите результат. Если возникнут ошибки, прошу прислать их сюда.
также пришло письмо без темы
что-то не так в настройках smtp, но настраивал все по инструкции из той статьи что вы сбрасывали, почтовый сервер отсылки smtp.yandex.ru
Добрый день!
Попробуйте отправить письмо с жестко заданной кодировкой:
echo -e "Subject: =?UTF-8?B?$(echo -n 'Тестовое письмо' | base64)?=\n\nПроверка работы sSMTP." | ssmtp ваш_email
При таком способе тема письма будет корректно доставлена.
Верно, теперь письмо пришло корректно, подскажите теперь пожалуйста как в коде в Notify.sendEmail() правильно подставить кодировку текста?
Понял, спасибо!
Дорабатывать Notify.sendEmail() не планируете? Если будите то желательно чтобы эта функция возвращала true если отправка прошла без ошибок, инача зачастую при отправке возникают ошибки а в коде этого не понять.
Добрый день,
Попробуйте данный вариант
defineRule("send_email_every_5_seconds", {
when: cron("*/5 * * * * *"), // Запуск каждые 5 секунд
then: function () {
Notify.sendEmail("email@yandex.ru", "Тестовая123", "Тестовый123");
log("Email отправлен: Тестовая");
},
});
приведенный выше пример чем-то отличается? результат тот же, темы нет.
пробую через запуску команды, код прилагаю ниже, результат также без темы, а если копирую сформированную команду выполняю в консоле то все работает.
var subject = “Тема письма”;
var message = “сообщение в письме”;
var emails = “mail@yandex.ru”
var command = “echo -e "Subject: =?UTF-8?B?$(echo -n ‘{}’ | base64)?=\n\n{} sSMTP." | ssmtp {}”.format(subject, message, emails);
log(command);
runShellCommand(command);