Налаштування внутрішнього SMTP-сервера

🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію.

1. Загальна інформація

Внутрішній SMTP-сервер – це платформенний компонент, призначений для відправлення нотифікацій кінцевим користувачам.

Під час інсталяції платформи його буде розгорнуто у проєкті smtp-server.

Оскільки ззовні доступний лише вебінтерфейс, а всі інші порти ізольовані у кластері, що значно підвищує безпеку, доступне лише відправлення листів. Отримати листа на скриньку у цьому поштовому сервісі неможливо!
Тут і надалі DNS_WILDCARD - це доменне ім’я кластера.

Вебінтерфейс користувача доступний за адресою https://mail.<DNS_WILDCARD>/ .

Вебінтерфейс адміністратора доступний за адресою https://mail.<DNS_WILDCARD>/admin .

2. Робота з DNS записами

2.1. Генерація DNS записів

Перейдіть у вебінтерфейс адміністратора та авторизуйтесь.

Дані для авторизації можна знайти у секреті mailu-admin-credentials у проєкті smtp-server. До username необхідно додати @<DNS_WILDCARD>

У боковому меню у секції Administration оберіть Mail domains. На сторінці, що відкрилася, навпроти вашого домену у секції Actions натисніть на іконку Details.

Відкриття інформації про поштовий домен
Зображення 1. Відкриття інформації про поштовий домен

На сторінці, що відкрилася, у верхньому правому кутку натисніть Regenerate keys. В результаті ви отримаєте список необхідних DNS записів, що необхідно додати до вашої публічної DNS зони (1 – MX, 3 – TXT).

Згенеровані DNS записи
Зображення 2. Згенеровані DNS записи

До згенерованого DNS SPF запису необхідно додати публічну IP адресу шлюзу через який проходить вихідний трафік з машин кластера (у випадку розгортання в AWS, це буде Elastic IP платформного NAT Gateway).

Таким чином, якщо, наприклад, IP вашого шлюзу це 12.34.56.78, то запис буде виглядати так: "v=spf1 mx a:mail.<DNS_WILDCARD> ip4:12.34.56.78 -all"

Додайте записи до DNS зони.

Route53 в AWS має обмеження на довжину TXT запису. Таким чином, при додаванні DNS DKIM запису ви можете отримати помилку Bad request. (InvalidChangeBatch 400: CharacterStringTooLong (Value is too long))

В такому випадку текстову частину запису з публічним ключем треба розділити умовно навпіл за допомогою трьох символів: подвійні лапки, пробіл, подвійні лапки. Наприклад, TXT частина запису

"v=DKIM1; k=rsa; p=abcdefghijklmnopqrstuvwxyz"

матиме вигляд

"v=DKIM1; k=rsa; p=abcdefghijkl" "mnopqrstuvwxyz"

2.2. Перевірка правильності створених DNS записів

Після того, як записи буде оновлено на DNS серверах провайдера, рекомендується перевірити налаштування за допомогою сервісу mxtoolbox.

Введіть ваш <DNS_WILDCARD> у поле та натисніть кнопку Check Email Health. Зачекайте на результати перевірки.

Наявність лише цих трьох помилок свідчить про правильність налаштування:

Перевірка у сервісі mxtoolbox
Зображення 3. Перевірка у сервісі mxtoolbox

3. Отримання дозволу на відправлення email в AWS

У випадку розгортання платформи в AWS, за замовчуванням будь-який трафік з 25 порту (SMTP) заблокований[1].

Необхідно створити запит Request to remove email sending limitations у техпідтримку AWS. Час розглядання запиту – до 48 годин.

Поле запиту Значення

Email address

Ваш контактний e-mail, куди буде надіслано результати обробки запиту.

Use case description

Детально описана причина для зняття обмежень із зазначенням особливостей відправки листів. Приклад:

We’re going to deploy own SMTP server (https://mailu.io/) in containers inside Openshift Cluster to send notifications for our clients and employees. It’s customer requirement to use own standalone cloud-agnostic SMTP server. This server has an authentication and is not accessible from the Internet to connect and send emails.

All openshift cluster nodes have one common NAT gateway (<NAT gateway resource ID or ARN>) with EIP <your Elastic IP address>. So could you please remove email sending limitation from EIP <your Elastic IP address> assigned to NAT gateway?

(Optional) Elastic IP address

IP адреса платформного NAT Gateway

(Optional) Reverse DNS record

Залишити порожнім

4. Перевірка правильності відправлених email за допомогою сервісу apptoolbox

Перейдіть на сайт сервісу apptoolbox та натисніть Next step.

Ви отримаєте згенеровану email-адресу, куди треба відправити лист з платформного SMTP-сервера.

Отримана поштова адреса для перевірки
Зображення 4. Отримана поштова адреса для перевірки

Щоб відправити email, перейдіть у вебінтерфейс користувача доступний за адресою https://mail.<DNS_WILDCARD>/ . Пройдіть авторизацію.

У боковому меню ліворуч натисніть Compose щоб створити новий лист. У поле To введіть згенеровану адресу, поле Subject та тіло листа може мати будь-який текст.

Створення тестового email
Зображення 5. Створення тестового email

Відправте email та поверніться на сайт. Через декілька секунд лист буде доставлено та ви отримаєте відповідь від сервісу. У випадку правильного налаштування відповідь має виглядати так:

Результат перевірки
Зображення 6. Результат перевірки