В данном руководстве изложены шаги по конфигурации реле SMTP Postfix с использованием Sendinblue на операционной системе Ubuntu. Postfix является широко используемым SMTP-сервером с открытым исходным кодом. Ранее я публиковал статью о простом процессе настройки полноценного почтового сервера на Ubuntu с помощью iRedMail, что оказало помощь многим пользователям в запуске их собственных почтовых систем.
Некоторые пользователи сообщили, что провайдеры хостинга и интернет-провайдеры блокируют порт 25 для борьбы с почтовым спамом, что не позволяет им отправлять электронные письма. Vultr может разблокировать порт 25 по запросу, а ScalaHosting вовсе не осуществляет его блокировку, поэтому я рекомендую выбирать VPS у ScalaHosting. В то же время, такие провайдеры, как DigitalOcean, не соглашаются разблокировать этот порт.
Данное руководство совместимо со всеми актуальными версиями Ubuntu, включая 22.04, 20.04 и 18.04.
Содержание статьи
- 1 SMTP-ретрансляция на помощь.
- 2 Бесплатная отправка 300 электронных писем в день с помощью Sendinblue.
- 3 Зарегистрируйтесь в системе Sendinblue.
- 4 Конфигурация SMTP-реле Postfix с использованием Sendinblue.
- 5 Введите адреса отправителей.
- 6 Конфигурация аутентификации SPF/DKIM в SendinBlue
- 7 Тестовая отправка письма
- 8 Решение проблем
- 9 Введение новых доменов.
- 10 Завершение
SMTP-ретрансляция на помощь.
Вы можете обойти ограничение на порт 25, используя SMTP relay, который функционирует через TCP порт 587. При этом ваш собственный почтовый сервер не отправляет сообщения напрямую на адрес получателя. Вместо этого используется промежуточный почтовый сервер, известный как умный хост или хост-пересылатель, который отправляет письма от вашего имени. Ваш почтовый сервер взаимодействует с хостом-пересылателем через TCP порт 587, а затем последний передает сообщения на почтовый сервер получателя, используя порт 25.
SMTP релей может быть полезен для обхода черных списков антиспама, если ваш IP-адрес был занесен в них по какой-либо причине. Почтовый сервер получателя проверяет IP-адрес хоста-пересылателя по общим черным спискам, а не по IP-адресу вашего сервера. Так как службы SMTP релей обычно поддерживают положительную репутацию IP, ваши сообщения могут успешно проходить мимо IP-черных списков.
Бесплатная отправка 300 электронных писем в день с помощью Sendinblue.
Существует множество поставщиков услуг электронной почты (ESP), способных выполнять функции хоста-пересылателя. Некоторые из них требуют небольшую оплату, а другие предлагают бесплатные лимиты на отправку каждый месяц. В данной статье я расскажу о Sendinblue — сервисе, который позволяет отправлять до 300 писем в день совершенно бесплатно.
Отличная новость о Sendinblue заключается в том, что для использования бесплатного сервиса SMTP relay не требуется вводить данные кредитной карты. Существуют и другие провайдеры ESP, предлагающие ежемесячные бесплатные лимиты, однако они требуют указания информации о кредитной карте. Я понимаю, как это может быть неудобно, особенно если у вас нет кредитной карты. Кроме того, процесс настройки Sendinblue значительно проще по сравнению с другими ESP.
Зарегистрируйтесь в системе Sendinblue.
Зарегистрируйтесь на сайте sendinblue.com, создав бесплатную учетную запись. После завершения настройки профиля пользователя перейдите во вкладку Транзакционные. Там вы сможете найти настройки SMTP. Если настройки отсутствуют, свяжитесь со службой поддержки Sendinblue для активации функции транзакционной электронной почты.

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

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

Затем укажите название системной электронной почты. К примеру, я ввожу свое доменное имя linux16.ru.

После завершения установки Postfix, запустите текстовый редактор командной строки, такой как Nano, чтобы открыть основной конфигурационный файл.
sudo nano /etc/postfix/main.cf
Определите следующую последовательность.
relayhost =
По умолчанию это значение отсутствует. Установите параметр relayhost на [smtp-relay. sendinblue.com]:587.
relayhost = [smtp-relay. sendinblue.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, как указано ниже. Замените smtp_username и smtp_password на логин и пароль SMTP, которые вы получили от SendinBlue. Имейте в виду, что между логином и паролем должно быть двоеточие.
[smtp-relay. sendinblue.com]:587 smtp_username:smtp_password
Остерегайтесь использования пароля основной учетной записи Sendinblue. Вместо этого рекомендуется найти пароль SMTP на вкладке транзакций в Sendinblue.

Сохраните файл и закройте его. После этого создайте соответствующий хеш-файл db с помощью команды 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 начнет рассылать электронные письма с помощью Sendinblue.
Введите адреса отправителей.
Откройте выпадающее меню в верхнем правом углу панели управления своей учетной записью Sendinblue и выберите раздел «Отправители и IP-адреса», чтобы добавить свой домен и адрес отправителя.

Конфигурация аутентификации SPF/DKIM в SendinBlue
На данном этапе важно настроить записи SPF и DKIM, что крайне рекомендуется, если вы хотите, чтобы ваши письма попадали в папку «Входящие» у получателя, а не в «Спам».
- SPF: это система политики отправителя, представленная в виде DNS-записи. Она определяет, какие IP-адреса имеют право рассылать электронные письма от имени вашего домена.
- DKIM: Идентификация почты с помощью доменных ключей. Sendinblue будет цифровым образом подписывать ваши письма, используя закрытый ключ. Запись DKIM включает открытый ключ, который дает возможность почтовому серверу получателя проверить подлинность подписи.
В вашей панели управления SendinBlue нажмите на имя вашей учетной записи в правом верхнем углу, затем нажмите на Отправители и IP-адреса. Выберите вкладку Домен -> Управление ->Подтверждение подлинности данного домена.

Открывается всплывающее окно. Необходимо внести первые три записи для вашего домена.

После того как вы добавите записи SPF и DKIM, подождите некоторое время и нажмите кнопку «Запись добавлена». Пожалуйста, убедитесь в этом. В зависимости от вашего провайдера хостинга DNS, обновленные записи могут потребовать определенное время для распространения в сети.
- Зайдите на сайт https://dnsmap.io, чтобы узнать, насколько ваши DNS-записи распространились в сети.
- Чтобы проверить запись DKIM, перейдите на сайт https://www.dmarcanalyzer.com/dkim/dkim-check/, в поле «селектор» укажите mail, затем введите доменное имя, чтобы проверить статус распространения записи DKIM и выявить возможные ошибки.
При правильной настройке и верификации записей SPF и DKIM ваш домен будет аутентифицирован в Sendinblue.

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

Решение проблем
Реле недоступно для использования.
Если ваше письмо не дошло до адресата, и вы обнаружили следующее уведомление в почтовом журнале ( /var/log/mail.log ),
Доступ к реле запрещен (в ответ на команду RCPT TO)
Возможно, вам потребуется внести изменения в файл /etc/postfix/sasl_passwd, убрав номер порта, который следует за именем хоста, как это показано ниже.
smtp-relay. sendinblue.com smtp_username:smtp_passowrd
Сохраните изменения и закройте файл. После этого заново создайте индексный файл.
sudo postmap /etc/postfix/sasl_passwd
Перезапустите Postfix для применения внесенных изменений.
sudo systemctl restart postfix
Теперь вы можете освободить очередь электронной почты, попытавшись доставить ранее отправленные сообщения.
sudo postqueue - f
SMTP-аккаунт Sendinblue пока не активирован.
Если вы обнаружили данное сообщение в журнале почты (/var/log/mail.log),
Ваш SMTP-аккаунт еще не активирован. Пожалуйста, свяжитесь с нами по адресу [email protected], чтобы запросить активацию.
Пожалуйста, обратитесь в службу поддержки Sendinblue для активации услуги транзакционной электронной почты.
Введение новых доменов.
Если вы развернули почтовый сервер на новом хостинге для нового домена и хотите установить SMTP-реле для этого домена, просто выполните шаги 2, 3 и 4 еще раз.
Завершение
Вот и все! Надеюсь, этот гайд был полезен для настройки SMTP-реле Postfix на Ubuntu с целью обхода порта 25 или черных списков IP-адресов. Как всегда, если вам понравилась эта статья, не забудьте подписаться на нашу бесплатную рассылку, чтобы получать дополнительные советы и рекомендации.

