Skip to main content
Отправляет одно письмо. Хост, логин и От остаются на узле. Секреты — {{secret:mailbox-password}}. Пароль не уходит в модель и не попадает в результат. Ящик это не читает. Для чтения — IMAP fetch.

Вход

Вкладка инспектора Настройки. Правила пустого поля на графе: Предыдущие узлы. Вставить значение есть у Хоста, Пользователя, Пароля, От, Кому, Темы, Текста, HTML и Сообщения. У инструмента на агенте Кому, Тема, Текст и HTML могут быть Решает агент или Фиксировано. Хост, Порт, Шифрование, Пользователь, Пароль, От и Сообщение остаются на узле. Перевод строки в Кому, От и Теме убирается. Если после этого ящиков больше одного, шаг падает.

Выход

На следующем узле Предыдущие узлы показывает Send email: Result ({{Send email.text}}, пока имя уникально). Отказ адреса не роняет запуск:
Нет хоста, заблокированный хост, сбой TLS или неверный логин роняют запуск. Тела и пароля в результате нет.

Много адресов

Один запуск отправляет одну страницу записей. Страницу ограничивают Read records и Loop. Следующий запуск стартует триггер Cron. Список загрузите во вкладке State. Если файл не помещается целиком, второй импорт идёт в ту же коллекцию, ключ — адрес. Внутри Loop, по порядку. Первый узел Code назовите Prepare. Его input — текущая строка (input.data — ваши колонки).
email, status и name — колонки вашего файла. Update records читает этот JSON. Collection на этом узле можно оставить пустым, если collection уже в JSON. См. Update records. Дальше Send email. Сообщение — {{Prepare.text}}. Хост, Пользователь, Пароль и От — через {{secret:Name}}. Следующий Code назовите Finish. Его input — Result выше.
Второй Update records читает этот JSON. Снаружи Loop узел Read records фильтрует статус, который вы ещё не отметили, а Limit равен 100. Строки со статусом sending не попадают в следующий запуск, в том числе если запуск остановился после того, как сервер принял письмо, и до Finish.

Лимиты

Один адресат. Без вложений. Тема до 998 символов. Текст и HTML до 256000 символов каждый. Более длинное тело роняет шаг.