Настройка SMTP-ретранслятора
Если ваш интернет-провайдер блокирует порт 25, если вы не можете настроить обратное DNS-соединение на своём сервере или если у вас возникли другие проблемы с использованием встроенного SMTP-сервера в YunoHost, возможно, вам стоит настроить сервер YunoHost для использования SMTP-ретранслятора.
Что такое SMTP-ретранслятор?
SMTP-ретранслятор — это, по сути, сторонний SMTP-сервер, который будет отправлять электронные письма от имени вашего собственного SMTP-сервера (сервис Postfix на YunoHost). После правильной настройки на YunoHost его работа прозрачна как для вас, так и для ваших корреспондентов: они будут видеть электронные письма как отправленные с вашего основного URL-адреса YunoHost, но вся отправка будет делегирована выбранному и настроенному вами SMTP-ретранслятору.
Недостатки SMTP-ретрансляторов
Важно отметить, что использование SMTP-ретранслятора следует рассматривать как (значительный) компромисс в мире самостоятельного хостинга. Действительно, при использовании SMTP-ретранслятора третья сторона не только отправляет электронные письма от вашего имени, но и имеет полный доступ к содержимому всех отправляемых вами писем и может даже изменять их (например, по умолчанию MailJet переписывает HTML-гиперссылки в ваших письмах, чтобы отслеживать активность ваших корреспондентов). Также имейте в виду, что SMTP-ретранслятор настраивается для всего вашего сервера YunoHost: вы не можете выбирать, какие письма или какие пользователи будут через него проходить, потому что через него будут проходить все будущие письма.
Помимо вышеупомянутых соображений конфиденциальности, SMTP-ретранслятор может накладывать технические ограничения, которых не было бы при открытом порте 25. Например, в большинстве случаев, если пользователь вашего сервера YunoHost указывает внешний «адрес переадресации» для автоматической пересылки сообщений, полученных на вашем сервере YunoHost, в другой почтовый ящик, такая переадресация не будет работать для писем, поступающих извне вашего сервера, без какого-либо предупреждения. Действительно, ретрансляторы обычно требуют, чтобы пересылаемые ими сообщения имели адрес отправителя из вашего домена (для борьбы со спамом и сохранения репутации своих сервисов), чего нет в случае «автоматической пересылки», где сохраняется первоначальный отправитель письма; затем сообщение блокируется ретранслятором (который, как правило, предупреждает вашего администратора YunoHost, но только задним числом)
Как использовать SMTP-ретранслятор с YunoHost?
YunoHost имеет встроенную функцию настройки SMTP-ретранслятора, доступную начиная с версии 4.1. Однако эта настройка пока недоступна через веб-интерфейс администратора. Вам придётся использовать интерфейс командной строки.
Шаг 1: Зарегистрируйтесь у поставщика услуг SMTP-ретрансляции
Существует множество провайдеров. У некоторых есть бесплатные тарифы с ограничениями или без них, выбор за вами. Как уже говорилось выше, вам нужно быть осторожным с выбором, поскольку вы, по сути, передадите всю свою электронную почту этой третьей стороне. Можно ли ей доверять или нет — решать вам!
Шаг 2: Правильно настройте DNS-записи
После регистрации провайдер SMTP-ретрансляции обычно попросит вас изменить ваши DNS-записи. Стандартная процедура заключается в добавлении ключа DKIM и ключа SPF в ваши DNS-записи. Способ изменения этих записей и значения ключей, которые вам нужно будет добавить, зависят как от вашего провайдера доменных имен, так и от провайдера SMTP-ретрансляции.
Обычно провайдер SMTP-ретрансляции предоставляет руководство по изменению этих записей, а также инструмент автоматической проверки, который сообщит вам, правильно ли настроены ваши DNS-записи. Этот шаг обязателен для того, чтобы доказать «всем миру», что вы, владелец вашего доменного имени, явно разрешили вашему провайдеру SMTP-ретрансляции отправлять электронные письма от вашего имени.
Обратите внимание, что эффект от внесения изменений в DNS-записи иногда может проявиться более чем через 24 часа, поэтому наберитесь терпения!
Отныне недобросовестный SMTP-провайдер может отправлять электронные письма с вашего основного домена, не сообщая вам об этом.
Шаг 3: Правильная настройка YunoHost
Его можно настроить либо через веб-интерфейс администратора, либо через командную строку.
- Из веб-интерфейса
- Из командной строки
Перейдите в веб-панель администратора, в раздел «Инструменты» > «Настройки Yunohost» (Tools > Yunohost Settings) и «Электронная почта» (Email).
Теперь настройте все параметры запросов:
- SMTP relay host : URL SMTP-сервера
- SMTP relay port : Порт, используемый для связи с удалённым сервером.
- SMTP relay user : Логин или идентификатор почтового сервера.
- SMTP relay password : Ваш пароль SMTP-ретранслятора.
Пароль, содержащий символ #, не будет работать должным образом из-за ограничений постфиксной клавиатуры (возможно, другие символы запрещены, сообщите об этом, чтобы мы обновили этот документ).

Для настройки YunoHost для использования SMTP-ретранслятора вам потребуется сконфигурировать четыре параметра:
- URL-адрес вашего SMTP-ретранслятора (в этом руководстве мы будем использовать
smtprelay.tld) - Порт, через который осуществляется доступ к ретранслятору (в данном руководстве мы будем использовать порт 2525).
- Имя пользователя вашего SMTP-ретранслятора (в этом руководстве мы будем использовать
username) - Пароль для SMTP-ретранслятора (в этом руководстве мы будем использовать
password)
Пароль, содержащий символ #, не будет работать должным образом из-за ограничений постфиксной клавиатуры (возможно, другие символы запрещены, сообщите об этом, чтобы мы обновили этот документ).
Ваш SMTP-ретранслятор, разумеется, предоставит вам эти четыре параметра; они должны быть доступны в панели управления или аналогичном интерфейсе.
Вы можете подключиться к своему серверу YunoHost по SSH:
ssh admin@yourdomain.tld
Затем вы можете обновить эти три значения, как показано ниже:
sudo yunohost settings set email.smtp.smtp_relay_enabled -v yes
sudo yunohost settings set email.smtp.smtp_relay_host -v smtprelay.tld
sudo yunohost settings set email.smtp.smtp_relay_port -v 2525
sudo yunohost settings set email.smtp.smtp_relay_user -v username
sudo yunohost settings set email.smtp.smtp_relay_password -v password
Возможно, стоит дополнительно проверить настройки, выполнив следующие действия:
sudo yunohost settings list
Ваш SMTP-ретранслятор настроен!
Отныне ненадёжный провайдер SMTP-ретрансляции сможет читать или использовать данные всех отправляемых вами писем без вашего ведома (однако он по-прежнему не сможет читать или использовать данные из писем, которые вы получаете).
Пересылать все электронные письма, включая письма с доменов, управляемых YunoHost
Если вы полностью доверяете своему SMTP-ретранслятору и у вас есть второй IMAP-сервер, который вы хотите (или вынуждены) использовать вместо сервера YunoHost, вы можете настроить пересылку (релей) всех писем — в том числе отправляемых с доменов, управляемых YunoHost, — закомментировав следующие две строки в файле /etc/postfix/main.cf:
#virtual_mailbox_domains = ldap:/etc/postfix/ldap-domains.cf
#virtual_alias_maps = ldap:/etc/postfix/ldap-aliases.cf,ldap:/etc/postfix/ldap-groups.cf
Шаг 4: Проверьте настройки
Вы можете проверить настройки, отправив тестовые письма и убедившись, что всё работает. Некоторые SMTP-ретрансляторы предоставляют аналитику по отправленным письмам, что также позволяет проверить корректность работы системы. Разумеется, для выявления возможных проблем или несоответствий всегда можно воспользоваться сервисом mail-tester.com.