P0: SMTP-транспорт для logic_email (verify, invite, reset) #68
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Проблема
logic_emailпишет письма вio:format(verify, specialist_invite, password reset). На пилоте почта не уходит.Влияние
Регистрация, инвайт специалиста и сброс пароля не работают без ручной подстановки токена.
Ожидаемый результат
Транспорт SMTP из конфига/env; те же три шаблона уходят на реальный адрес. Без смены API.
Критерии приёмки
send_verification_email/send_specialist_invite/send_password_resetидут через SMTPФайлы (подсказка)
EventHubBack/src/logic/logic_email.erlРодитель
EventHub/EventHubSpec#8 (волна 1)
Приоритет
P0
Беру Back#68 в работу.
Утверждён вариант A:
gen_smtp+ envSMTP_*; без хоста — log-only; ошибка SMTP не валит register/invite/reset. IFT Mailpit и секреты stage — DevOps#11 (следующая задача).Вариант A реализован локально (ещё без коммита/пуша).
Код
gen_smtp1.3.0 (1.2.0 не собирается на OTP 28)logic_email: безSMTP_HOST— log-only; с хостом —gen_smtp_client:send; ошибка/crash → warning,okPUBLIC_APP_URL:/verify?token=,/invites?token=,/reset-password?token=SMTP_PORT(587),SMTP_USER/SMTP_PASS,SMTP_FROM,SMTP_TLSdocker/docker-compose.stage.yml+.env.example(пустые значения)EventHubBackSpec.md(stub убран)Тесты
rebar3 as test eunit --module=logic_email_tests— 4/4 ok (log-only, mock deliver, invite/reset URL, ошибка SMTP не валит вызов).Живой SMTP на stage — следующая задача DevOps#11 (Mailpit IFT / секреты). Коммит Back — по явной просьбе.
HTML-шаблоны писем (дополнение к SMTP)
priv/email/layout.html— CalenTIQ (steel header, sage accent, coral CTA)logic_email_templates— verify / invite / reset (RU subject + multipart HTML+plain)Dockerfileкопируетpriv/logic_email_tests— 5/5 okСвязка со стендами: DevOps#11 (Mailpit IFT).
Коммит локально (без push):
69ee037— feat(email): SMTP via gen_smtp and CalenTIQ HTML templates. Refs EventHub/EventHubBack#68В коммите: gen_smtp 1.3.0, logic_email + HTML templates, eunit, priv/email, docker SMTP env. Пуш — по отдельной просьбе.
Запушено на
origin/master:3d7ae0d..302e1e5(в т.ч. SMTP/HTML69ee037, ignore certs302e1e5).Готово
Запушено:
69ee037(SMTP + HTML CalenTIQ) наorigin/master.gen_smtp1.3.0, envSMTP_*; без хоста — log-onlylogic_email_testsokЗакрываю Back#68. Родитель: Spec#8 волна 1.