Files
admin/.tasks/snolla-mailer-per-recipient-send.md

2.9 KiB
Raw Blame History

snolla-mailer-per-recipient-send

Goal

Mailer (@snollajs/mailer / forms-api, emailSender.js): отправлять письмо формы отдельным письмом на каждого получателя (loop по FormRecipients), а не одним письмом с несколькими адресами в To.

Почему

2026-08-14: после переезда почты форм на холодный ящик e-16513832@yandex.ru (app-password) Яндекс режектит 554 5.7.1 SPAM ЛЮБОЕ письмо с 2+ получателями; с 1 получателем — проходит (изоляционные тесты: 1→250, 2→554 стабильно; боевой заказ #2497 с 1 получателем — 0 ошибок). Старый ящик noreply@snolla.com был прогрет → мульти-получатели раньше проходили. В БД 11 форм с 23 админами — их письма падают.

Требования (код, victor/snolla)

  1. Цикл по получателям, по одному письму на каждого (тот же шаблон/контент).
  2. Dedupe одинаковых адресов.
  3. Ошибка одного получателя не роняет остальные (per-recipient try/catch + лог).
  4. Cc/Bcc/Reply-To сохранить.
  5. Тест: форма с 2+ админами → по одному письму на каждого, все уходят (без 554).

Координация

  • 2026-08-14: snolla опубликовал @snolla/mailer@0.9.0 (коммит bb8599d, тесты 6/6). Деплой ЗАБЛОКИРОВАН: потребители не перевыпущены — forms-api@0.1.0 пинит mailer ^0.8.3, @snolla/web@0.43.2 — точно 0.8.3 → 0.9.0 не резолвится. data 0.15.1 в verdaccio есть (не блокер). Запрошены бампы: forms-api@0.2.0 (^0.9.0) + web@0.44.x (0.9.0) — письмо 2026-08-14T10-21-09Z-admin.md. После бампов → деплой наш.
  • После релиза (admin): деплой тиража (pilonuxt 16 + env 1723) → контрольный заказ с 2 админами → 2 письма в ящиках (vitya + info@pilorama98.ru). FormRecipients НЕ трогаем.
  • До фикса: письма админам по формам с 2+ получателями могут падать (554) — известное состояние, vitya в курсе.

Acceptance

  • Форма с 2+ админами → по одному письму на каждого, все уходят (без 554).
  • После деплоя контрольный заказ: vitya + менеджер оба получили письмо.