В данном руководстве я расскажу, как настроить SMTP-ретрансляцию Postfix с использованием Mailjet на операционной системе Ubuntu. Postfix — это широко используемый открытый SMTP-сервер. Ранее я публиковал статью о том, как быстро установить полноценный почтовый сервер на Ubuntu с помощью iRedMail, что оказалось полезным для многих читателей, желающих запустить собственный почтовый сервис.
Некоторые читатели сообщили, что их хостинг или интернет-провайдер заблокировали порт 25 для борьбы со спамом, что затрудняет отправку электронных писем. Если обратиться к Vultr, они разблокируют порт 25 по запросу. В свою очередь, ScalaHosting изначально не блокирует этот порт, поэтому я рекомендую использовать VPS от ScalaHosting. Есть и другие провайдеры, такие как DigitalOcean, которые отказываются разблокировать порт 25.
Содержание статьи
SMTP Relay на подмогу
Вы можете обойти ограничения на порт 25 и отправлять письма за пределы вашей сети, используя SMTP relay, который функционирует на порту 587. При использовании SMTP relay ваш почтовый сервер не отправляет сообщения напрямую к конечному адресату. Вместо этого используется промежуточный почтовый сервер, известный как релейный или умный хост, который осуществляет отправку от вашего имени. Ваш почтовый сервер устанавливает связь с умным хостом на порту 587, а затем этот хост связывается с почтовым сервером получателя через порт 25.
SMTP relay может помочь вам избежать блокировок в антиспам-системах, если ваш IP-адрес оказался в черном списке. Почтовый сервер получателя проверяет IP-адрес промежуточного хоста по общедоступным черным спискам, а не по вашему серверному IP. Так как услуги SMTP relay поддерживают высокую репутацию IP-адресов, ваши письма могут успешно проходить через такие блокировки.
Бесплатная отправка до 200 писем в день с помощью Mailjet.
Существует несколько поставщиков почтовых услуг (ESP), способных выполнять функции интеллектуального хоста. Некоторые из них требуют небольшую плату, тогда как другие предоставляют бесплатные лимиты каждый месяц. В данной статье я хотел бы продемонстрировать, как пользоваться Mailjet — почтовым провайдером, который предлагает возможность отправлять до 200 писем в день без оплаты.
Хорошо, что Mailjet предоставляет возможность использовать бесплатный сервис SMTP relay без необходимости указывать данные кредитной карты. Существуют и другие ESP, которые предлагают бесплатные месячные квоты, но при этом требуют ввод кредитной карты. (Я понимаю, как это может быть неудобно, если у вас нет кредитной карты.) Кроме того, Mailjet проще в настройке по сравнению с другими провайдерами.
Зарегистрируйтесь на сайте mailjet.com. После этого на панели управления у вас появится три задачи, которые необходимо выполнить.
- Настроить протокол SMTP.
- Управление адресами отправителей
- Настроить аутентификацию домена с использованием SPF и DKIM.

Конфигурация Postfix SMTP Relay на Ubuntu
Сначала установим сервер Postfix SMTP на Ubuntu, используя следующую команду. Если Postfix уже установлен на вашем сервере, можете пропустить этот шаг, однако пакет libsasl2-modules все равно необходимо установить.
sudo apt install postfix libsasl2-modules
Когда появится следующее уведомление, нажмите Tab, а затем Enter.

После этого выберите второй пункт: Сайт.

Укажите название почтовой системы. Например, я использую свое доменное имя linux16.ru .

После того как Postfix будет установлен, откройте файл настроек.
sudo nano /etc/postfix/main.cf
Определите следующую строку.
relayhost =
Значение по умолчанию не задано. Для его получения обратитесь к своей учетной записи Mailjet. В панели управления Mailjet выберите «Настроить SMTP».

Адрес SMTP-сервера и данные для входа в систему будут отображены.

В конфигурационном файле Postfix задайте параметр relayhost как in-v3.mailjet.com:587.
relayhost = in-v3.mailjet.com:587
Добавьте следующие строки в конец файла.
# конфигурации исходящего реле smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_security_level = may header_size_limit = 4096000
Сохраните файл и закройте его. После этого создайте файл /etc/postfix/sasl_passwd.
sudo nano /etc/postfix/sasl_passwd
Включите SMTP-адрес реле и учетные данные SMTP в данный файл, как указано ниже. Замените api-key и secret-key на ваши действительные API-ключ Mailjet и секретный ключ.
in-v3.mailjet.com:587 api-key:secret-key
Сохраните изменения в файле и закройте его. После этого создайте файл базы данных хэшей, воспользовавшись командой postmap.
sudo postmap /etc/postfix/sasl_passwd
Теперь у вас должен быть создан файл /etc/postfix/sasl_passwd. db. Для применения изменений перезапустите Postfix.
sudo systemctl restart postfix
Файлы sasl_passwd и sasl_passwd. db имеют разрешения по умолчанию, позволяющие любому пользователю на сервере их читать. Рекомендуется изменить права доступа на 600, чтобы только пользователь root мог их читать и записывать.
sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd. db
С этого момента Postfix начнет рассылать электронные письма через Mailjet.
Ввод адресов отправителей
Чтобы отправлять электронные письма через Mailjet, необходимо добавить домен или адрес отправителя. Для этого перейдите в панель управления Mailjet и выберите раздел «Управление адресами отправителей». Вы можете подтвердить как весь домен, так и отдельные адреса электронной почты.

Конфигурация аутентификации для домена
На данном этапе необходимо произвести настройку записей SPF и DKIM. Это крайне важно, если вы хотите, чтобы ваши письма доходили до папки «Входящие» у получателя, а не попадали в спам.
- SPF (Sender Policy Framework) — это DNS-запись, которая определяет, какие IP-адреса имеют право отправлять электронные письма от имени вашего домена.
- DKIM, или DomainKeys Identified Mail, представляет собой механизм, с помощью которого Mailjet будет подписывать ваши сообщения цифровой подписью с использованием закрытого ключа. Запись DKIM включает открытый ключ, который дает возможность почтовому серверу получателя осуществлять проверку подписи.
В интерфейсе управления Mailjet выберите опцию для настройки аутентификации домена. По умолчанию статусы SPF и DKIM оба отображают ошибку. Нажмите на кнопку управления и следуйте указаниям, чтобы внести необходимые записи SPF и DKIM.

После того как вы создали записи SPF и DKIM, подождите несколько минут и обновите страницу в Mailjet. Процесс распространения ваших новых DNS-записей может занять некоторое время, в зависимости от вашего DNS-хостинга. Если записи SPF и DKIM были корректно настроены и процесс распространения завершён, Mailjet уведомит вас о том, что записи SPF и DKIM настроены правильно.

Отправка пробного сообщения.
Теперь у нас есть возможность отправить тестовое письмо с помощью команды mailx, как это показано ниже.
sudo apt install bsd-mailx echo "это тестовое письмо." | mailx - r адрес-отправителяПривет, - s!адрес-получателя
Вы можете отправить тестовое сообщение как через веб-клиент электронной почты, так и через почтовый клиент на вашем компьютере. Рекомендуется также проверить свою оценку электронной почты на сайте https://www.mail-tester.com. Как видите, я получил максимальный балл.

Диагностика неисправностей
Если ваше сообщение не было доставлено, и вы увидели данное уведомление в журнале почты (/var/log/mail.log),
Доступ к реле запрещен (в ответ на команду RCPT TO)
Возможно, вам нужно будет внести изменения в файл /etc/postfix/sasl_passwd, убрав номер порта, который следует за именем хоста, как указано ниже.
in-v3.mailjet.com api-key:secret-key
Сохраните файл и закройте его. После этого заново создайте индексный файл.
sudo postmap /etc/postfix/sasl_passwd
Перезапустите Postfix для применения внесённых изменений.
sudo systemctl restart postfix
Теперь у вас есть возможность очистить очередь электронной почты и попытаться доставить предыдущие сообщения.
sudo postqueue - f
Добавление новых доменов
Если вы установили почтовый сервер на новом компьютере с новым доменным именем и планируете настроить SMTP-ретрансляцию для этого домена, выполните те же шаги:
- Настройте конфигурацию SMTP-ретрансляции в Postfix.
- Проверьте новое имя домена в интерфейсе управления Mailjet.
- Настройте параметры SPF и DKIM для проверки.
Заключение
Вот и всё! Надеюсь, этот гид стал вам полезен для настройки SMTP-ретрансляции Postfix на Ubuntu, чтобы обойти порт 25 или IP-черные списки. Если вы считаете эту статью ценной, не забудьте подписаться на нашу бесплатную рассылку для получения дополнительных советов и рекомендаций. Берегите себя.

