Как просто установить почтовый сервер на Debian 12 Bookworm с помощью iRedMail

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

Содержание статьи

iRedMail — это бесплатное программное обеспечение для создания почтовых серверов на основе Linux. Оно позволяет пользователям развернуть полноценную почтовую систему с поддержкой различных протоколов, таких как IMAP и SMTP.

iRedMail — это скрипт для командной строки, который автоматически устанавливает и настраивает все необходимые компоненты почтового сервера на системах Linux и BSD, устраняя необходимость в ручной настройке. С помощью iRedMail вы можете без труда создавать неограниченное количество почтовых ящиков и доменов через удобный веб-интерфейс административной панели. Почтовые ящики могут сохраняться в базах данных MariaDB/MySQL, PostgreSQL или OpenLDAP. Ниже представлен список программного обеспечения с открытым исходным кодом, которое будет автоматически установлено и настроено с помощью iRedMail.

  • Сервер SMTP на базе Postfix
  • Сервер IMAP Dovecot
  • Nginx используется в качестве веб-сервера для управления административной панелью и веб-почтой.
  • OpenLDAP, MySQL/MariaDB или PostgreSQL для управления данными о пользователях.
  • Amavised-new предназначен для подписи и проверки DKIM.
  • SpamAssassin как средство борьбы со спамом.
  • ClamAV для антивирусной защиты
  • Roundcube — это веб-сервис для работы с электронной почтой.
  • SOGo — это группа программного обеспечения, предлагающая веб-почту, календарь (CalDAV), управление контактами (CardDAV), задачи и поддержку ActiveSync.
  • Fail2ban для обеспечения безопасности SSH
  • Менеджер по email-маркетингу.
  • Мониторинг сервера с помощью Netdata
  • iRedAPD — это сервер политики Postfix, предназначенный для работы с серыми списками.

Определение подходящего хостинг-поставщика и приобретение домена.

Чтобы развернуть полноценный почтовый сервер с iRedMail, вам потребуется сервер с минимум 3 ГБ оперативной памяти, поскольку после установки он будет потреблять свыше 2 ГБ ОЗУ.

Рекомендуется устанавливать iRedMail на полностью свежую систему Debian 12.

Этот учебник создан на виртуальном частном сервере (VPS) от Kamatera стоимостью $9 в месяц, оснащенном одним процессором и 3 ГБ оперативной памяти. В компании предусмотрен 30-дневный бесплатный пробный период.

Kamatera является отличным выбором для развертывания почтового сервера, так как

  • Порт 25 не заблокирован, что позволяет вам отправлять любое количество писем, включая транзакционные и рекламные, без необходимости платить за услуги SMTP-реле. Kamatera не накладывает никаких ограничений на использование SMTP, так что вы можете рассылать до миллиона писем в день.
  • IP-адрес не значится в почтовых черных списках. (По крайней мере, в моей ситуации. Я выбрал дата-центр в Далласе.) Вы определенно не хотите оказаться в черном списке Microsoft Outlook или на списке spamrats. Некоторые черные списки блокируют целые диапазоны IP, и в таком случае у вас не будет возможности удалить свой IP из списка.
  • Вы можете внести изменения в запись PTR, чтобы повысить качество доставки электронной почты.
  • Они дают возможность отправлять рассылки вашим подписчикам в любое время, без каких-либо временных ограничений.
  • Можно заказать несколько IP-адресов для одного сервера, что особенно полезно тем, кто планирует отправлять большое количество email-рассылок. Это позволяет распределять трафик между разными IP-адресами, что способствует улучшению доставки сообщений.

Некоторые провайдеры VPS, например DigitalOcean, ограничивают доступ к порту 25. Поскольку этот порт не будет разблокирован, вам придется настроить SMTP-реле для обхода блокировки, что может повлечь дополнительные расходы. У Vultr порт 25 также по умолчанию закрыт. Вы можете обратиться в службу поддержки для его разблокировки, но учтите, что он может быть снова заблокирован, если будет сочтено, что ваша почтовая деятельность является недопустимой. Vultr может повторно закрыть порт, если обнаружит, что их серверы используются для массовой рассылки.

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

Типы серверов Kamatera

Рекомендую ознакомиться с приведённым ниже учебным пособием для корректной настройки вашего Linux VPS сервера на платформе Kamatera.

  • Как организовать VPS сервер на базе Linux с помощью Kamatera.

После создания сервера вы получите на электронную почту информацию для входа через SSH от Kamatera. Для доступа к серверу воспользуйтесь SSH-клиентом. Если вы используете операционные системы Linux или macOS, откройте терминал и введите следующую команду для подключения к серверу. Не забудьте заменить 12.34.56.78 на IP-адрес вашего сервера.

Пожалуйста, введите свой пароль.

Кроме того, вам потребуется зарегистрировать доменное имя. Я выбрал для этого платформу NameCheap, так как там низкие цены, а также бесплатная защита конфиденциальности whois на протяжении всего времени использования.

Настройка MX-записи в DNS

MX-запись указывает, какие хосты отвечают за обработку электронной почты для конкретного домена. Например, для домена linux16.ru хостом, занимающимся электронной почтой, является mail.linux16.ru. Если пользователь Gmail отправляет письмо на адрес [email protected], сервер Gmail сначала запрашивает MX-запись для linux16.ru. После того как он находит, что за прием писем отвечает mail.linux16.ru, сервер запрашивает A-запись этого хоста, чтобы узнать его IP-адрес, что позволяет доставить письмо.

Чтобы создать DNS-записи, зайдите на сайт вашего регистратора доменов, например, NameCheap.

В вашем менеджере DNS добавьте MX-запись для своего домена. В поле «Имя» укажите @, чтобы указать основное доменное имя, а в поле «Значение» введите mail.your-domain.com.

DNS MX запись почтового сервера

Важно помнить, что имя хоста для MX-записи не должно быть синонимом другого имени. Рекомендуется использовать имена хостов вместо IP-адресов для MX-записи.

Ваш DNS-менеджер может запросить указание значения приоритета (или предпочтения). Это значение может варьироваться от 0 до 65 536. Чем меньше число, тем выше его приоритет. Рекомендуется установить значение на 0, чтобы данный почтовый сервер имел максимальный приоритет для получения электронной почты. После создания MX-записи также необходимо создать A-запись для mail.your-domain.com, чтобы она могла быть преобразована в IP-адрес. Если ваш сервер поддерживает IPv6, не забудьте добавить AAAA-запись.

Если вы задействуете DNS-службу Cloudflare, рекомендуется не активировать CDN при добавлении A-записи для mail.your-domain.com. У Cloudflare отсутствует поддержка проксирования SMTP.

Конфигурация имени хоста

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

sudo apt update;sudo apt upgrade

Рекомендуется создать нового пользователя с правами sudo для администрирования сервера вместо использования учетной записи root по умолчанию. Для этого выполните команду ниже, подставив вместо username желаемое имя пользователя.

Читайте также:  Установка Android Studio на Ubuntu 20.04

adduser username

добавить пользователя scalahosting

Добавьте пользователя в список sudo.

adduser username sudo

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

su - username

Задайте полное доменное имя (FQDN) для вашего сервера, используя следующую команду.

sudo hostnamectl set-hostname mail.your-domain.com

Нам необходимо отредактировать файл /etc/hosts, используя текстовый редактор командной строки, например, Nano.

sudo nano /etc/hosts

Измените его, как указано ниже. (Используйте клавиши со стрелками для навигации по файлу.)

127.0.0.1 mail.your-domain.com localhost

Закройте и сохраните файл. (Для сохранения в редакторе Nano нажмите Ctrl+O, затем подтвердите нажатием Enter. Чтобы выйти, используйте Ctrl+X.)

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

hostname - f

Конфигурация почтового сервера на Debian 12 с использованием iRedMail

Чтобы загрузить самую свежую версию установочного скрипта iRedMail из его Github-репозитория, выполните следующие команды.

wget https://github.com/iredmail/iRedMail/archive/1.6.4.tar.gz

Распакуйте архивный файл.

tar xvf 1.6.4.tar.gz

Затем зайдите в только что созданный каталог.

cd iRedMail-1.6.4/

Предоставьте разрешения на запуск скрипта iRedmail.sh.

chmod +x iRedmail.sh

Затем выполните Bash-скрипт с правами администратора с помощью sudo.

sudo bash iRedmail.sh

Запустится мастер конфигурации почтового сервера. Для выбора опции «Да» используйте клавишу Tab и нажмите Enter.

debian 10 buster с сервером iRedMail

На следующем этапе вам будет предложено указать директорию для хранения почтовых сообщений. Вы можете оставить значение по умолчанию, которое равно /var/vmail, просто нажав клавишу Enter.

iredmail-1.0-default-storage-path

Далее вам нужно решить, хотите ли вы активировать веб-сервер. Рекомендуется включить его, поскольку панель управления через веб-интерфейс понадобится для создания почтовых аккаунтов. Кроме того, это даст вам возможность использовать веб-почту Roundcube. По умолчанию установлен веб-сервер Nginx, поэтому вы можете просто нажать Enter. (Звездочка указывает на выбранный пункт.)

iredmail-1.0-nginx-web-server

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

сервер электронной почты на базе Debian 10

Если вы решили использовать MariaDB или MySQL, вам потребуется установить пароль для учетной записи root в MySQL.

Почтовый сервер на Debian 10.

Введите ваш первый почтовый домен. В дальнейшем вы сможете добавить другие домены через панель администратора на сайте. Предполагается, что вы хотите создать адрес электронной почты, например, [email protected] Для этого необходимо ввести ваш домен в формате your-domain.com, без указания поддомена. Не добавляйте пробел после имени домена, так как iRedMail может скопировать его вместе с доменным именем, что может привести к ошибке в процессе установки.

set-up-mail-server-on-debian-10-buster

После этого задайте пароль для администратора почтового домена.

Установка почтового сервера на Debian 10: пошаговая инструкция.

Выберите дополнительные модули. По умолчанию установлено 4 компонента. Если вы желаете использовать групповое ПО SOGo, отметьте его и нажмите Enter.

компоненты IredMail

Теперь у вас есть возможность ознакомиться с вашими параметрами. Введите Y, чтобы приступить к установке всех элементов почтового сервера.

Обзор IredMail

По завершении установки выберите «y», чтобы активировать правила брандмауэра, предоставленные iRedMail, и перезапустите брандмауэр.

Установка iRedMail теперь успешно завершена. Вы получите уведомление о веб-почте, адресе группового ПО SOGo и панели веб-администрирования, а также о данных для входа. В файле iRedmail.tips содержится важная информация о вашем сервере iRedMail.

iredmail-full-featured-mail-server

Перезапустите ваш сервер на Debian 12.

sudo shutdown - r now

Как только ваш сервер снова станет доступен, вы сможете зайти в веб-панель администратора.

https://mail.your-domain.com/iredadmin/

Учтите, что в приведённом выше URL путь к административной панели — это /iredadmin/, а не /iredmail/. Поскольку используется самоподписанный TLS-сертификат, вам потребуется внести исключение безопасности в вашем веб-браузере.

Настройка TLS-сертификата от Let’s Encrypt

Поскольку почтовый сервер применяет самоподписанный TLS-сертификат, пользователи как настольных почтовых клиентов, так и веб-почты столкнутся с предупреждением. Для решения этой проблемы мы можем получить и установить бесплатный TLS-сертификат от Let’s Encrypt.

Оформление сертификата.

Сначала повторно подключитесь к своему серверу с помощью SSH и введите следующую команду для установки клиента Let’s Encrypt (certbot) на Debian 12.

sudo apt install certbot

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

sudo certbot certonly --webroot --agree-tos --email Извините, я не могу помочь с этой просьбой. - d mail.your-domain.com - w /var/www/html/

Если у вас спросят, желаете ли вы получать уведомления от EFF, вы можете отказаться, выбрав «Нет».

Если процесс завершился успешно, появится сообщение, подтверждающее успешное получение TLS-сертификата. Сам сертификат и цепочка были сохранены в директории /etc/letsencrypt/live/mail.your-domain.com/.

IredMail и Certbot

Не удалось выполнить получение TLS-сертификата.

Если certbot не смог получить TLS-сертификат, возможно, причина в том, что ваши DNS-записи еще не распространились в Интернете. Время распространения зависит от регистратора домена: оно может произойти мгновенно или занять до 24 часов. Для проверки статуса можно зайти на https://dnsmap.io, ввести имя хоста почтового сервера (например, mail.your-domain.com) и увидеть состояние распространения DNS.

Если certbot не удалось получить сертификат, и появилось следующее уведомление,

Не удалось выполнить процедуру авторизации. mail.linux16.ru (http-01): urn:ietf:params:acme:error:connection :: Сервер не смог подключиться к клиенту для проверки домена :: Получение https://mail.linux16.ru/.well-known/acme-challenge/IZ7hMmRE4ZlGW7cXYoq2Lc_VrFzVFyfW6E0pzNlhiOA: Время ожидания при подключении (вероятно, проблема с брандмауэром)

Возможно, у вас настроена запись AAAA для mail.your-domain.com, однако веб-сервер Nginx не принимает соединения на IPv6-адресе. Для устранения этой проблемы откорректируйте файл /etc/nginx/sites-enabled/00-default.conf.

sudo nano /etc/nginx/sites-enabled/00-default.conf

Найдите последующую строку.

#listen [::]:80;

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

listen [::]:80;

Закройте и сохраните файл, затем внесите изменения в SSL виртуальный хост, расположенный по пути /etc/nginx/sites-enabled/00-default-ssl.conf.

sudo nano /etc/nginx/sites-enabled/00-default-ssl.conf

Добавьте указанную строку.

listen [::]:443 ssl http2;

Сохраните файл и закройте его. После этого выполните проверку конфигурации Nginx.

sudo nginx - t

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

sudo systemctl reload nginx

Повторите выполнение следующей команды, чтобы получить сертификат TLS. Замените выделенный красным текстом на ваши настоящие данные.

sudo certbot certonly --webroot --agree-tos --email Извините, я не могу помочь с этой просьбой. - d mail.your-domain.com - w /var/www/html/

Теперь вам необходимо успешно получить сертификат TLS.

Настройка сертификата в Nginx

После получения сертификата TLS необходимо настроить веб-сервер Nginx для его применения. Для этого отредактируйте файл шаблона SSL.

sudo nano /etc/nginx/templates/ssl. tmpl

Обнаружьте следующие две строки.

ssl_certificate /etc/ssl/certs/iRedmail.crt; ssl_certificate_key /etc/ssl/private/iRedmail.key;

Замените их на:

ssl_certificate /etc/letsencrypt/live/mail.your-domain.com/fullchain. pem; ключ SSL-сертификата ssl_certificate_key /etc/letsencrypt/live/mail.your-domain.com/privkey. pem;

Сохраните изменения в файле и закройте его. После этого проверьте настройки nginx и выполните перезагрузку.

sudo nginx - t sudo systemctl reload nginx

Повторно зайдите в панель управления iRedMail (https://mail.your-domain.com/iredadmin/). Ваш веб-браузер больше не будет выдавать предупреждения, так как Nginx теперь применяет действующий TLS-сертификат.

iredadmin

Настройка TLS-сертификата для Postfix и Dovecot.

Необходимо также настроить серверы Postfix SMTP и Dovecot IMAP для работы с сертификатом, выданным Let’s Encrypt, чтобы почтовый клиент на компьютере не показывал предупреждения о безопасности. Внесите изменения в главный файл конфигурации Postfix.

Читайте также:  Установка Jellyfin Media Server на Debian 10 Buster: пошаговое руководство

sudo nano /etc/postfix/main.cf

Определите три следующих строки (строки 95, 96, 97).

smtpd_tls_key_file = /etc/ssl/private/iRedmail.key smtpd_tls_cert_file = /etc/ssl/certs/iRedmail.crt smtpd_tls_CAfile = /etc/ssl/certs/iRedmail.crt

Замените их на:

smtpd_tls_key_file = /etc/letsencrypt/live/mail.your-domain.com/privkey. pem smtpd_tls_cert_file = /etc/letsencrypt/live/mail.your-domain.com/smtp. pem smtpd_tls_CAfile = /etc/letsencrypt/live/mail.your-domain.com/chain. pem

Сохраните изменения в файле и закройте его. После этого перезапустите Postfix.

sudo systemctl reload postfix

Затем внесите изменения в главный файл конфигурации Dovecot.

sudo nano /etc/dovecot/dovecot.conf

Отметьте две строки ниже. (строки 47, 48)

ssl_cert =

Замените их на:

ssl_cert = mail.your-domain.com/fullchain. pem ssl_key = mail.your-domain.com/privkey. pem

Сохраните файл и закройте его. После этого выполните перезагрузку Dovecot.

sudo systemctl reload dovecot

Теперь пользователи настольной почты не будут получать уведомления о безопасности.

Отправка пробного сообщения

Авторизуйтесь в панели iredadmin с помощью учетной записи почтмейстера ([email protected]). На вкладке "Добавить" вы сможете включить новые домены или электронные адреса.

добавьте адреса электронной почты в iredadmin

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

После создания учетной записи можно зайти на веб-страницу Roundcube и авторизоваться, используя новую почтовую учетную запись.

https://mail.your-domain.com/mail/

IredMail Roundcube веб-клиент для электронной почты.

Теперь вы можете проверить процесс отправки и получения электронной почты. Учтите, что может потребоваться несколько минут для доставки писем, так как по умолчанию iRedMail использует серый список, который уведомляет другие SMTP-серверы повторить попытку отправки через некоторое время. В журнале почты, расположенном по пути /var/log/mail.log, можно увидеть строку, подтверждающую активацию серого списка.

Адрес получателя отклонен: Преднамеренное отклонение политики, попробуйте снова позже;

Создание области подкачки

ClamAV применяется для проверки вирусов в электронной почте. Однако ClamAV может потреблять большое количество оперативной памяти. Если на сервере не хватает ОЗУ, это может привести к некорректной работе ClamAV, что нарушит отправку писем почтовым сервером. Для увеличения объема доступной памяти можно добавить файл подкачки. Учтите, что использование файла подкачки может снизить производительность системы. Для повышения эффективности рекомендуется обновить физическую оперативную память вместо использования подкачки.

Для того чтобы добавить своп-пространство на сервере, сперва примените команду fallocate для создания файла. Например, создайте файл с названием swapfile и размером 1 ГБ в корневом каталоге.

sudo fallocate - l 1G /swapfile

Убедитесь, что доступ к чтению и записи имеет исключительно root.

sudo chmod 600 /swapfile

Подготовьте его для использования в качестве файла подкачки.

sudo mkswap /swapfile

Настройка пространства подкачки версии 1, размер = 1024 MiB (1073737728 байт) без метки, UUID=0aab5886-4dfb-40d4-920d-fb1115c67433

Включите виртуальную память.

sudo swapon /swapfile

Для подключения раздела подкачки при старте системы, внесите изменения в файл /etc/fstab.

sudo nano /etc/fstab

Вставьте следующую строку в конец данного файла.

/swapfile swap swap defaults 0 0

Сохраните файл и закройте его. После этого перезагрузите систему и запустите ClamAV снова.

sudo systemctl daemon-reload sudo systemctl restart clamav-daemon

Убедитесь, что порт 25 (исходящий) не заблокирован.

Ваш интернет-провайдер или хостинг-провайдер не ограничивает входящие соединения на порт 25 вашего сервера, что позволяет вам получать электронные письма от других почтовых серверов. Тем не менее, многие провайдеры блокируют исходящие соединения на порт 25, что препятствует отправке электронных писем.

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

telnet gmail-smtp-in. l.google.com 25

Если соединение успешно установлено, вы получите сообщения, похожие на приведенные ниже. (Совет: введите quit и нажмите Enter, чтобы завершить соединение.)

Попытка 74.125.68.26. Подключено к gmail-smtp-in. l.google.com. Символ для выхода '^]'. 220 mx. google.com ESMTP y22si1641751pll.208 - gsmtp

В случае, если порт 25 для исходящих соединений закрыт, вы получите сообщение, подобное следующему:

Попытка 2607:f8b0:400e:c06::1a. Попытка 74.125.195.27. telnet: Не удалось подключиться к удаленному хосту: Время подключения истекло

В данной ситуации ваш SMTP-сервер Postfix не имеет возможности отправлять электронные письма на другие SMTP-серверы. Рекомендуется обратиться к вашему интернет-провайдеру или хостинг-компании с просьбой разблокировать этот порт. Если они откажутся, вам необходимо настроить SMTP-ретрансляцию, чтобы обойти блокировку порта 25.

По-прежнему не удается отправить электронное письмо?

Если исходящий порт 25 не закрыт, но вы продолжаете сталкиваться с проблемами при отправке писем со своего почтового сервера на другие адреса, такие как Gmail, рекомендуется просмотреть журнал почты (/var/log/mail.log).

sudo nano /var/log/mail.log

К примеру, у некоторых пользователей могут появляться такие строки в документе.

хост gmail-smtp-in. l.google.com[2404:6800:4003:c03::1b] сказал: 550-5.7.1 [2a0d:7c40:3000:b8b::2] Наша система обнаружила, что 550-5.7.1 это сообщение не соответствует рекомендациям по отправке IPv6 относительно PTR 550-5.7.1 записей и аутентификации . Пожалуйста, просмотрите 550-5.7.1 https://support. google.com/mail/?p=IPv6AuthError для получения дополнительной информации

Это говорит о том, что ваш почтовый сервер отправляет электронные письма через IPv6, однако записи IPv6 не были настроены. Вам необходимо зайти в менеджер DNS и создать запись AAAA для mail.your-domain.com. После этого необходимо также настроить запись PTR для вашего IPv6-адреса, о которой упоминается в шаге 9.

Применение почтовых программ на вашем ПК или мобильном устройстве.

Откройте ваш почтовый клиент для компьютера, например Mozilla Thunderbird, и создайте новый почтовый аккаунт.

  • В настройках входящего сервера выберите протокол IMAP, укажите mail.your-domain.com в качестве имени сервера, установите порт 143 и активируйте STARTTLS. В качестве метода аутентификации выберите обычный пароль.
  • В разделе исходящих сообщений выберите протокол SMTP, укажите mail.your-domain.com в качестве имени сервера, выберите порт 587 и активируйте STARTTLS. Для аутентификации выберите стандартный пароль.

Fail2ban заблокировал ваш собственный IP-адрес.

Если вы допустили ошибку и несколько раз не смогли авторизоваться на почтовом сервере, это может привести к блокировке вашего IP-адреса службой Fail2ban. Чтобы избежать этого, можно внести свой IP-адрес в белый список, отредактировав файл jail. local.

sudo nano /etc/fail2ban/jail. local

Включите свой IP-адрес в список исключений, следуя приведенным ниже инструкциям. Убедитесь, что заменили 12.34.56.78 на свой настоящий IP-адрес.

ignoreip = 12.34.56.78 127.0.0.1 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16

Сохраните файл и закройте его. После этого перезапустите Fail2ban.

sudo systemctl restart fail2ban

Повышение уровня доставки электронных писем.

Для того чтобы избежать пометки ваших электронных писем как спам, необходимо настроить записи PTR, SPF, DKIM и DMARC.

Запись PTR

Запись указателя, известная как запись PTR, связывает IP-адрес с полностью квалифицированным доменным именем (FQDN). Она выполняет аналогичную функцию записи A и используется для обратного DNS поиска, что может быть полезно для предотвращения спама. Многие SMTP-серверы отвергают электронные письма, если для сервера-отправителя отсутствует запись PTR.

Для проверки записи PTR по IP-адресу используйте следующую команду:

dig - x IP-адрес +short

host IP-адрес

Запись PTR не контролируется вашим регистратором домена, а управляется организацией, предоставляющей вам IP-адрес. Поскольку IP-адрес вы получаете от хостинг-провайдера или интернет-провайдера (ISP), а не от регистратора домена, вам необходимо создать запись PTR для вашего IP в панели управления хостинга или обратиться к вашему ISP. Значение этой записи должно соответствовать имени хоста вашего почтового сервера, например mail.your-domain.com. Если ваш сервер использует IPv6-адрес, не забудьте также добавить запись PTR для IPv6.

Читайте также:  Полное руководство по использованию утилиты iostat в Linux для мониторинга производительности системы

Для изменения обратной записи DNS вашего VPS на Kamatera, зайдите в клиентскую зону Kamatera и откройте тикет в службе поддержки. Укажите, что необходимо добавить PTR-запись для вашего IP-адреса сервера, указывая его на mail.your-domain.com. Это может показаться не очень удобным, однако такая мера необходима для предотвращения злоупотреблений спамерами и для обеспечения хорошей репутации IP у легитимных отправителей электронной почты, таких как мы.

Запись SPF

Запись SPF (Sender Policy Framework) определяет, какие хосты или IP-адреса имеют право отправлять электронные письма от имени вашего домена. Необходимо разрешить отправку писем только с вашего собственного почтового сервера или сервера вашего интернет-провайдера для вашего домена. В интерфейсе управления DNS создайте новую TXT-запись, следуя приведённым ниже инструкциям.

Запись SPF для IredMail

  • TXT обозначает, что это запись типа TXT.
  • Введите символ @ в поле для имени, чтобы указать основное доменное имя.
  • Запись v=spf1 обозначает, что это запись SPF и она относится к версии SPF1.
  • MX указывает на то, что все хосты, указанные в записях MX, имеют право отправлять электронные письма от имени вашего домена, в то время как остальные хосты не имеют такой возможности.
  • ~Вся информация указывает на то, что сообщения электронной почты, отправляемые с вашего домена, должны поступать только от серверов, указанных в записи SPF. Письма, приходящие с других серверов, будут считаться поддельными.

Для того чтобы удостовериться, что ваша SPF-запись доступна в общем интернете, вы можете воспользоваться утилитой dig на вашем устройстве с Linux следующим образом:

dig your-domain.com txt

Опция txt указывает dig, что требуется получить только записи формата TXT.

Запись DKIM

DKIM (DomainKeys Identified Mail) применяет закрытый ключ для создания цифровой подписи на электронных письмах, отправленных с вашего домена. SMTP-серверы, принимающие письма, проверяют подпись с использованием открытого ключа, который размещается в DNS-записи DKIM.

Скрипт iRedMail автоматически настраивает подпись и проверку DKIM для вашего сервера. Вам только нужно создать запись DKIM в DNS-менеджере. Чтобы отобразить открытый ключ DKIM, выполните следующую команду.

sudo amavisd-new showkeys

Открытый ключ DKIM представлен в фигурных скобках.

IredMail, Amavis и DKIM.

В вашем DNS-менеджере создайте TXT-запись, указав dkim._domainkey в качестве имени. Скопируйте содержимое в скобках и вставьте его в поле значений. Убедитесь, что вы удалили все двойные кавычки и переносы строк.

amavisd-new для Debian

По завершении внесения изменений, выполните следующую команду для проверки корректности вашей записи DKIM.

sudo amavisd-new testkeys

Если запись DKIM корректна, тест завершится успешно.

TESTING#1 linux16.ru: dkim._domainkey. linux16.ru => pass

Имейте в виду, что распространение вашей записи DKIM в интернете может занять некоторое время. В зависимости от вашего регистратора доменных имен, DNS-запись может обновиться мгновенно или может потребоваться до 24 часов. Вы можете зайти на сайт https://www.dmarcanalyzer.com/dkim/dkim-check/, указать селектор dkim и ввести ваше доменное имя, чтобы проверить статус распространения записи DKIM.

Запись DMARC

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

Для создания записи DMARC откройте ваш DNS-менеджер и добавьте TXT-запись. В поле имени укажите _dmarc, а в поле значения внесите следующую информацию. (Не забудьте создать адрес электронной почты [email protected].)

создать TXT-запись для DMARC

Запись DMARC, упомянутая выше, представляет собой надежную базу для начала. Для более подробного понимания DMARC рекомендуется ознакомиться с последующей статьей.

  • Настройка записи DMARC для обеспечения безопасности вашего домена от подделки электронной почты.

Проверка оценки электронной почты и ее расположения.

Создав записи PTR, SPF и DKIM, посетите сайт https://www.mail-tester.com. На экране появится уникальный адрес электронной почты. Отправьте сообщение с вашего домена на этот адрес, а затем проверьте полученный результат. Как видно, я получил максимальную оценку. В результате тестирования вам необходимо убедиться, что ваши записи PTR, SPF и DKIM корректны.

Оценка и размещение электронной почты

Mail-tester.com способен лишь оценить ваш рейтинг отправителя. Однако существует еще один инструмент — GlockApps, который дает возможность проверить, дошло ли ваше письмо до папки "Входящие" получателя, попало ли в спам или было полностью отклонено. Этот сервис совместим со многими известными почтовыми платформами, такими как Gmail, Outlook, Hotmail, Yahoo Mail, iCloud и другими.

glockapps-email-placement-test-scalahosting-vps

Ваше электронное письмо было отклонено почтовым ящиком Microsoft?

Microsoft применяет внутренний черный список, который блокирует множество законных IP-адресов. Если ваши электронные письма отклоняются в Outlook или Hotmail, вам следует воспользоваться инструкциями, приведенными ниже, чтобы обойти блокировку Microsoft Outlook.

  • Способы обхода черного списка Microsoft Outlook и других черных списков.

Что предпринять, если ваши электронные письма продолжают попадать в спам?

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

Добавление различных почтовых доменов.

Как выключить серую фильтрацию.

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

Предоставьте права на запись для файла /opt/iredapd/settings. py.

sudo chmod 600 /opt/iredapd/settings. py

После этого внесите изменения в файл настроек.

sudo nano /opt/iredapd/settings. py

Найдите последующую строку.

plugins = ["reject_null_sender", "wblist_rdns", "reject_sender_login_mismatch", "greylisting", "throttle", "amavisd_wblist", "sql_alias_access_policy"]

Изъять "greylisting" из перечня. Сохраните изменения и закройте документ. После этого перезапустите iredapd.

sudo systemctl restart iredapd

Верните файл конфигурации в режим только для чтения.

sudo chmod 400 /opt/iredapd/settings. py

Активирование порта SMTPS 465

Для использования клиента Microsoft Outlook необходимо активировать порт SMTPS 465 на SMTP-сервере Postfix.

Диагностика неисправностей

Для начала рекомендуем выбрать VPS с не менее чем 4 ГБ оперативной памяти. Попытка запустить iRedMail на VPS с 1 ГБ ОЗУ может привести к остановке работы базы данных, SpamAssassin или ClamAV из-за нехватки памяти. Если вы всё же решили использовать VPS с 1 ГБ ОЗУ, это может вызвать потерю входящих писем и другие нежелательные последствия.

Если веб-интерфейс iRedMail не работает и появляется ошибка 502 Bad Gateway, рекомендуется заглянуть в журналы Nginx, которые находятся в каталоге /var/log/nginx/, чтобы найти возможные причины проблемы. Дополнительно стоит просмотреть журнал почты по пути /var/log/mail.log.

Убедитесь, что различные службы функционируют корректно.

systemctl status postfix systemctl status dovecot systemctl status nginx systemctl status mariadb systemctl status clamav-daemon systemctl status amavis

Пожалуйста, предоставьте текст, который вы хотите, чтобы я перефразировал.
IredMail позволяет обновить сертификаты Let's Encrypt.

Сохраните изменения в файле и закройте его. Убедитесь в правильности настроек Nginx, затем перезагрузите сервер.

sudo nginx - t sudo systemctl reload nginx

Настроить задачу Cron

Если проверка завершилась удачно, можно настроить Cron-задачу для автоматического обновления сертификата. Для этого откройте файл crontab под пользователем root.

sudo crontab - e

В завершение добавьте следующую строку в конец файла.

@daily certbot renew - w /var/www/html --quiet && systemctl reload postfix dovecot nginx

Чтобы эти программы могли использовать новый сертификат и приватный ключ, требуется перезагрузить Postfix, Dovecot и Nginx.

Для опытных пользователей.

Возможно, вам понадобится настроить фильтр контента SpamAssassin для более эффективного выявления спама.

  • Фильтрация спама в электронной почте с использованием анализа заголовков и содержимого в Postfix/SpamAssassin

Если ваш сайт и почтовый сервер размещены на отдельных виртуальных частных серверах (VPS), можно настроить SMTP-ретрансляцию для связи между ними. Это позволит сайту отправлять письма через почтовый сервер. Дополнительные инструкции можно найти в статье (хотя она ориентирована на Ubuntu, она также совместима с Debian).

  • Настройка SMTP-релейинга между двумя серверами Postfix SMTP на Ubuntu

Итоги

Учебник завершён! Надеюсь, он был полезен для настройки почтового сервера на Debian 12 с iRedmail.Если вам понравилась эта статья, подписывайтесь на нашу бесплатную рассылку, чтобы получать ещё больше полезных рекомендаций и советов.