Письма с пустой темой

Добрый день!
пытаюсь отправлять письма черезе 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() правильно подставить кодировку текста?

Добрый день!

Для этого используйте runShellCommand.

Подробнее с примерами можно ознакомиться здесь.

Понял, спасибо!
Дорабатывать 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);