From 69b62b5769693f3a4ed0c95ef7eba9dcedfe5aaa Mon Sep 17 00:00:00 2001 From: Liosha84 Date: Thu, 5 Nov 2026 18:10:38 +0100 Subject: [PATCH] =?UTF-8?q?README:=20SMTP=20=D0=BB=D0=BE=D0=B2=D1=83=D1=88?= =?UTF-8?q?=D0=BA=D0=B8=20=D0=B4=D0=BB=D1=8F=20staging=20=E2=80=94=20?= =?UTF-8?q?=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20=D0=B2=D0=BD=D1=83=D1=82=D1=80?= =?UTF-8?q?=D0=B5=D0=BD=D0=BD=D0=B8=D0=B9=20TCP-=D0=BF=D0=BE=D1=80=D1=82?= =?UTF-8?q?=20Jambotron=20(#781)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit α Co-Authored-By: Claude Opus 5.5 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1175f4e..acb570c 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,7 @@ cd frontend && npm install && npx ng serve # http://loca В `docker-compose.jambotron.yml` включена ловушка: `MAIL_CATCH_ALL=trap@mail.test`. Письмо на любой адрес, у которого здесь нет своего ящика, — `user@gmail.com`, `nobody@mail.test` — ложится в ящик `trap@mail.test`; письма между ящиками стенда идут как обычно. Наружу не уходит ничего (`OUTBOUND_MODE=off`), порт 25 и репутация IP не нужны. Выключить — `MAIL_CATCH_ALL=` (пусто). -Чтобы staging Jambotron слал письма сюда вместо Resend, его `spring.mail` смотрит на SMTP этого сервера: хост — адрес, по которому staging видит SMTP 3025, без логина и без TLS. **Пока не сделано:** SMTP открыт только внутри ВМ, Jambotron снаружи публикует лишь HTTP-домены — нужен TCP-проброс порта до staging (решение — в Jambotron, чек-лист 75.4). +Чтобы staging Jambotron слал письма сюда вместо Resend, его `spring.mail` смотрит на SMTP этого сервера: хост — адрес, по которому staging видит SMTP 3025, без логина и без TLS. Как: в Jambotron, карточка «Домены» проекта → «Внутренние TCP-порты» → сервис `mail`, порт `3025` (Jambotron PR #781). Адрес `vmIp:vmPort` доступен только в сети WireGuard Jambotron, из интернета — нет. Образ собирается из `backend/Dockerfile` в три этапа: Angular → Spring Boot (веб-клиент внутри jar) → JRE не от root.