Как включить SMTP-сервер электронной почты на облачном сервере Hetzner?
Пошаговое руководство по активации SMTP-сервера электронной почты на облачном сервере Hetzner и предотвращению рассылки спама с использованием соответствующих настроек домена и хоста.

Как включить SMTP-сервер электронной почты на облачном сервере Hetzner?

В этой статье вы узнаете, как настроить почтовый SMTP-сервер на облачном сервере Hetzner и предотвратить рассылку спама. Отправляйте безопасные и надежные электронные письма с правильными настройками DNS и аутентификации.
0 Акции
0
0
0
0
  1. Как настроить SMTP-сервер на Hetzner, который будет отправлять электронные письма и не рассылать спам?
  2. Предлагаемая архитектура и первоначальные соображения.
  3. Этапы подготовки отправляющего сервера (Hetzner)
    1. Установка базовых пакетов (Debian/Ubuntu)
    2. Настройка имени хоста и PTR
    3. Настройка TLS с помощью Let's Encrypt
    4. Базовая конфигурация Postfix (фрагмент файла main.cf)
    5. Включение SASL в Dovecot (для аутентификации отправляющих пользователей)
  4. DKIM, SPF и DMARC — настройка DNS
    1. Генерация ключа DKIM с помощью OpenDKIM
    2. запись SPF
    3. запись DMARC
  5. Получение электронных писем на другом сервере и обработка отказов.
    1. Как настроить MX для приема
    2. Настройка обратного пути и управление возвратами
    3. Пример обработки отскоков с помощью Flanker (Python)
  6. Как избежать спама — лучшие практики
    1. Технические настройки
    2. Политика в отношении контента и списки
  7. Контролируйте скорость отправки, очереди и предотвращайте нанесение ущерба репутации.
  8. Тесты и инструменты для проверки возможности доставки.
  9. Полный пример процесса: отправка из приложения A с использованием Hetzner в качестве ретранслятора.
  10. Дополнительные советы по технике безопасности и эксплуатации.
  11. Рекомендуемые бесплатные инструменты с открытым исходным кодом для автоматизации
  12. Ссылка на услуги компании (более 85 филиалов и предоставляемые услуги)
  13. Последний пункт

Как настроить SMTP-сервер на Hetzner, который будет отправлять электронные письма и не рассылать спам?

В этом руководстве пошагово объясняется, как настроить SMTP на облачном сервере Hetzner для отправки электронных писем и сопоставления получения писем с другим сервером. Также рассматриваются важные настройки DNS (SPF, DKIM, DMARC, PTR), аутентификация (SASL/TLS), управление отказами и отписками, а также практические рекомендации по предотвращению попадания в черный список.

Предлагаемая архитектура и первоначальные соображения.

Предлагаемая архитектура:

  • Сервер отправки (облако Hetzner): установка Постфикс + OpenDKIM + OpenDMARC + TLS — Отвечает за отправку электронной почты (SMTP-ретранслятор).
  • Входящий сервер (например, ваш VPS или хостинг): записи MX указывают на этот сервер; он отвечает за доставку и прием входящих сообщений (POP/IMAP/Dovecot или ваша почтовая служба).
  • Сообщения о недоставке и отписке: сообщения о недоставке отправляются на выделенный адрес, и обработка этого почтового ящика осуществляется принимающим сервером.
  • Пользователи/Приложения: Использование SMTP AUTH (или авторизация на основе IP-адреса) необходимо пройти аутентификацию на сервере Hetzner, чтобы получить разрешение на ретрансляцию.

Этапы подготовки отправляющего сервера (Hetzner)

Установка базовых пакетов (Debian/Ubuntu)

Пример для Ubuntu/Debian:

sudo apt update
sudo apt install -y postfix dovecot-core dovecot-imapd opendkim opendkim-tools opendmarc certbot postfix-policyd-spf-python rspamd

Настройка имени хоста и PTR

Необходимо задать имя хоста на сервере переадресации и зарегистрировать обратное DNS-запрос в панели Hetzner.

sudo hostnamectl set-hostname mail.example.com

Советы по настройке Postfix: Количество имя моего хоста Установите значение mail.example.com и введите значение mail.example.com в панели Hetzner для обратного IP-адреса.

Настройка TLS с помощью Let's Encrypt

Выдача сертификата и его указание в настройках Postfix:

sudo certbot certonly --standalone -d mail.example.com

В main.cf Сложите следующие значения:

smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.com/privkey.pem
smtpd_use_tls = yes
smtp_tls_security_level = may
smtpd_tls_security_level = may

Базовая конфигурация Postfix (фрагмент файла main.cf)

Подборка важных мест действия в main.cf:

myhostname = mail.example.com
myorigin = /etc/mailname
mydestination = localhost
relay_domains =
mynetworks = 127.0.0.0/8
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtpd_tls_auth_only = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_helo_required = yes

Объяснение: reject_unauth_destination Предотвращает использование вашего сервера в качестве открытого ретранслятора; ретрансляцией могут быть только авторизованные пользователи или известные машины.

Включение SASL в Dovecot (для аутентификации отправляющих пользователей)

В файле /etc/dovecot/conf.d/10-master.conf Раздел аутентификация службы Настройте это следующим образом:

service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    user = postfix
    group = postfix
  }
}

Для аутентификации можно использовать локальный пароль, базу данных SQL или LDAP. Затем перезапустите службы:

sudo systemctl restart dovecot postfix

DKIM, SPF и DMARC — настройка DNS

Генерация ключа DKIM с помощью OpenDKIM

Пример создания ключа DKIM на отправляющем сервере:

sudo mkdir /etc/opendkim/keys/example.com
sudo opendkim-genkey -b 2048 -d example.com -s mail -D /etc/opendkim/keys/example.com

Файл mail.txt Сгенерировано; содержимое TXT-записи для добавления в DNS: selector = электронная почта → mail._domainkey.example.com.

Пример настроек /etc/opendkim.conf (Отрывок):

Domain                  example.com
KeyFile                 /etc/opendkim/keys/example.com/mail.private
Selector                mail
AutoRestart             yes
Socket                  local:/var/spool/postfix/opendkim/opendkim.sock

И в /etc/postfix/main.cf Добавлять:

milter_default_action = accept
smtpd_milters = unix:/var/spool/postfix/opendkim/opendkim.sock
non_smtpd_milters = $smtpd_milters

запись SPF

В DNS рассматриваемого домена:

example.com. IN TXT "v=spf1 ip4:YOUR_HETZNER_IP include:spf.protection.example ?all"

Или, если говорить точнее:

"v=spf1 ip4:YOUR_HETZNER_IP -all"

Рекомендация: В начале ~все Или ?все Используйте этот метод, чтобы первоначальные ошибки не привели к полному отклонению, а затем будьте более строгими.

запись DMARC

Пример использования DMARC в DNS:

_dmarc.example.com. IN TXT "v=DMARC1; p=quarantine; rua=mailto:[email protected]; ruf=mailto:[email protected]; pct=100; adkim=s; aspf=s"

Примечание: Для начала вы можете p=нет Давайте посмотрим отчеты. p=карантин Или p=отклонить Активировать.

Получение электронных писем на другом сервере и обработка отказов.

Как настроить MX для приема

Пример записи MX в DNS:

example.com. IN MX 10 mail-receive.example.org

Примечание: MX-запись должна указывать на принимающий сервер; ваш отправитель использует Hetzner для исходящей электронной почты, поэтому для отправляющего домена необходимо установить запись SPF/DKIM.

Настройка обратного пути и управление возвратами

Несколько важных моментов:

  • Параметр Return-Path должен быть специально предназначен для обработки возвратов; лучше всего указать выделенный поддомен, например, bounce.example.com Укажите.
  • Вы можете использовать VERP для любого электронного письма: envelope-from="[email protected]" Для более точного определения доходности.

Обработка отказов — рекомендуемый процесс:

  1. Адрес [email protected] Создайте его и укажите в его MX-запросе сервер, который его обрабатывает.
  2. Этот сервер с fetchmail / получить почту Или же напрямую получить доступ к почтовому ящику IMAP и выполнить действия с помощью скриптов обработки отказов.
  3. Для анализа отказов можно использовать такие инструменты, как... фланкер Или Mail::Delivery::BounceParser Использовать.

Пример обработки отскоков с помощью Flanker (Python)

Первая установка:

pip install flanker

Простой пример скрипта (чтение из стандартного ввода и обработка):

from flanker import mime
from flanker.utils import bounces
import sys

raw = sys.stdin.read()
msg = mime.from_string(raw)
bounce = bounces.parse(raw)
# classify and store bounce info in database or suppression list

По категориям сильный отскок (ошибки 5xx) и мягкий отскок (4xx) Вы можете применить политики удаления или повторной попытки.

Как избежать спама — лучшие практики

Технические настройки

  • ПТР Соответствует имя моего хоста и А — это рекорд.
  • SPF, ДКИМ, DMARC Включить и подписать DKIM.
  • Баннер HELO/SMTP соответствует имени хоста.
  • TLS включен и smtpd_tls_auth_only = yes Для предотвращения передачи незашифрованных данных.
  • Избегайте IP-адресов с плохой историей и используйте правильные реляционные DNS-серверы.

Политика в отношении контента и списки

  • Всегда от двойное подтверждение Используйте для списков рассылки по электронной почте.
  • В каждом электронном письме должна быть простая и понятная ссылка для отписки; в заголовке письма. Отписаться от списка Использовать:
List-Unsubscribe: <mailto:[email protected]>, <https://example.com/unsubscribe?email=...>
  • IP-прогрев: Отправляйте небольшую сумму с первого дня и постепенно увеличивайте её.
  • Удаление или пометка адресов с высоким процентом отказов или жалоб.
  • Соответствие таким законам, как CAN-SPAM и GDPR, для европейских пользователей.

Контролируйте скорость отправки, очереди и предотвращайте нанесение ущерба репутации.

Настройки ограничения параллельного выполнения и задержки назначения в Postfix:

postconf -e "smtp_destination_concurrency_limit = 20"
postconf -e "smtp_destination_rate_delay = 1s"

Для более сложных политик, чем те, что используют демоны политик, подобные этим. постфвд, политика Или rspamd Использовать.

Управление очередями с помощью команд Postfix:

postqueue -p
postsuper -d ALLDeferred

Тесты и инструменты для проверки возможности доставки.

  • Для проверки SMTP из сваки Использовать:
swaks --to [email protected] --from [email protected] --server mail.example.com --auth LOGIN --auth-user smtpuser --auth-password smtppass --tls
  • Проверьте заголовки с помощью mail-tester.com и MXToolbox Для проверки черного списка и SPF/DKIM/DMARC.
  • Отслеживание журналов с помощью:
tail -f /var/log/mail.log

Анализ отчетов DMARC на основе значений руа и руф Помогает выявить проблемы с доставкой.

Полный пример процесса: отправка из приложения A с использованием Hetzner в качестве ретранслятора.

  1. Приложение А к mail.example.com:587 Взаимодействует с пользователем smtp_user и пароль; выполняется аутентификация.
  2. После проверки сервер Hetzner отправляет электронное письмо, которое затем подписывается DKIM-подписью; также устанавливаются параметры SPF и PTR.
  3. Если будет возвращено, перенаправьте на [email protected] отправлено; MX-запрос для сообщения о недоставке указывает на сервер, который выполняет анализ.
  4. Приложение считывает список исключений и блокирует адрес для жестких возвратов.

Дополнительные советы по технике безопасности и эксплуатации.

  • Убедитесь, что исходящий порт 25 открыт на сервере (у Hetzner иногда бывают сетевые ограничения).
  • Для предотвращения злоупотреблений аутентификация должна быть обязательной; никогда не оставляйте сервер в качестве открытого ретранслятора.
  • Отправляйте журналы в систему мониторинга (ELK/Graylog) для анализа всплесков активности отправки или ошибок в ответах.
  • В случае большого объема отправляемых данных используйте выделенный IP-адрес и постепенно повышайте его пропускную способность.

Рекомендуемые бесплатные инструменты с открытым исходным кодом для автоматизации

  • Postfix (SMTP)
  • Dovecot (SASL/IMAP)
  • OpenDKIM / OpenDMARC
  • Rspamd используется для фильтрации и оценки.
  • fetchmail / getmail для получения информации о недоставленных письмах
  • flanker или Mail::Delivery::BounceParser для обработки отказов в доставке.
  • postfwd / policyd для ценообразования и политик

Ссылка на услуги компании (более 85 филиалов и предоставляемые услуги)

Если вам нужна инфраструктура с широким сетевым доступом и разнообразным расположением, вы можете использовать подходящие сервисы для выбора ближайшего к вашей аудитории центра обработки данных, чтобы уменьшить задержку и улучшить доставку данных.

  • Больше, чем 85 точек Мир выбора центров обработки данных.
  • Высокопроизводительный облачный сервер с выделенным IP-адресом для email-маркетинга и SMTP-сервисов.
  • Сервер с защитой от DDoS-атак, различные VPS-серверы, а также поддержка настройки сети и безопасности.

Последний пункт

Если вы готовы начать, вы можете ознакомиться с тарифными планами облачных серверов, выделенными IP-адресами, а также услугами управления DNS и безопасностью, или обратиться в техническую поддержку для настройки параметров, внедрения DKIM/DMARC и управления переадресацией запросов. Служба поддержки готова предоставить техническую помощь и консультации.

Вам также может понравиться
Решение для реализации и оптимизации голосовой модели Maya1 AI с поддержкой преобразования текста в речь (TTS).

Решение для реализации и оптимизации голосовой модели Maya1 AI с поддержкой преобразования текста в речь (TTS).

В этой статье мы рассмотрим реализацию и оптимизацию модели синтеза речи Maya1 Ai и предложим эффективные решения для создания естественного голосового вывода. От сетевых настроек до оптимальных конфигураций сервера — мы проведем вас через необходимые технические этапы.

Как создать или отредактировать файл .htaccess в cPanel

Введение Файл htaccess содержит несколько директив (инструкций), которые указывают серверу, как себя вести в определенных сценариях...
Полное руководство по функциям и настройке системы управления хостингом AApanel.

Полное руководство по функциям и настройке системы управления хостингом AApanel.

aaPanel — это универсальная и эффективная панель управления для хостинга и управления приложениями. В этой статье рассматриваются её основные функции, установка, управление базами данных, безопасность и интеграция с WHMCS. Она будет полезна веб-мастерам и разработчикам.
Включение и отключение Cloudflare Universal SSL — практическое и безопасное руководство для администраторов серверов и разработчиков.

Включение и отключение Cloudflare Universal SSL — практическое и безопасное руководство для администраторов серверов и разработчиков.

В этой статье мы подробно и технически объясним, как включить и отключить Universal SSL в Cloudflare. Это руководство поможет вам максимально эффективно использовать этот сервис для защиты вашего сайта. Узнайте, как его включить и отключить, и ознакомьтесь с настройками безопасности.
Полное обучение работе с аппаратными и программными RAID-серверами.

Полное обучение работе с аппаратными и программными RAID-серверами.

В этой статье представлено полное руководство по RAID в аппаратных и программных серверах, охватывающее концепции, преимущества, реализацию и ключевые моменты. Прочитав это руководство, вы сможете выбрать оптимальный вариант RAID в соответствии с вашими потребностями.
Подробное руководство по оптимизации производительности графического процессора для глубокого обучения.

Подробное руководство по оптимизации производительности графического процессора для глубокого обучения.

В этой статье мы рассмотрим оптимизацию производительности графического процессора для глубокого обучения. Используя практические и технические методы, мы покажем вам, как добиться минимального времени обучения и максимальной производительности за счет использования подходящего оборудования и оптимальных настроек.