Создание собственного почтового сервера на Linux с нуля — это сложная задача, которая может оказаться весьма утомительной для тех, кто не обладает достаточным опытом в администрировании серверов. В этом руководстве мы рассмотрим, как легко и быстро настроить полноценный почтовый сервер на Debian 12 с помощью iRedMail, что позволит вам сэкономить значительное количество времени и усилий.
Содержание статьи
- 1 iRedMail — это бесплатное программное обеспечение для создания почтовых серверов на основе Linux. Оно позволяет пользователям развернуть полноценную почтовую систему с поддержкой различных протоколов, таких как IMAP и SMTP.
- 2 Определение подходящего хостинг-поставщика и приобретение домена.
- 3 Настройка MX-записи в DNS
- 4 Конфигурация имени хоста
- 5 Конфигурация почтового сервера на Debian 12 с использованием iRedMail
- 6 Настройка TLS-сертификата от Let’s Encrypt
- 7 Отправка пробного сообщения
- 8 Убедитесь, что порт 25 (исходящий) не заблокирован.
- 9 По-прежнему не удается отправить электронное письмо?
- 10 Применение почтовых программ на вашем ПК или мобильном устройстве.
- 11 Повышение уровня доставки электронных писем.
- 12 Проверка оценки электронной почты и ее расположения.
- 13 Ваше электронное письмо было отклонено почтовым ящиком Microsoft?
- 14 Что предпринять, если ваши электронные письма продолжают попадать в спам?
- 15 Добавление различных почтовых доменов.
- 16 Как выключить серую фильтрацию.
- 17 Активирование порта SMTPS 465
- 18 Диагностика неисправностей
- 19 Для опытных пользователей.
- 20 Итоги
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, чтобы зарегистрироваться, после чего в личном кабинете настройте свой сервер.

Рекомендую ознакомиться с приведённым ниже учебным пособием для корректной настройки вашего 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.

Важно помнить, что имя хоста для 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 желаемое имя пользователя.
adduser username

Добавьте пользователя в список 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.

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

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

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

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

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

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

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

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

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

Перезапустите ваш сервер на 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/.

Не удалось выполнить получение 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-сертификат.

Настройка TLS-сертификата для Postfix и Dovecot.
Необходимо также настроить серверы Postfix SMTP и Dovecot IMAP для работы с сертификатом, выданным Let’s Encrypt, чтобы почтовый клиент на компьютере не показывал предупреждения о безопасности. Внесите изменения в главный файл конфигурации Postfix.
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]). На вкладке "Добавить" вы сможете включить новые домены или электронные адреса.

Если вы столкнулись с ошибкой "домен не находится под контролем", пожалуйста, ознакомьтесь с данной статьей.
После создания учетной записи можно зайти на веб-страницу Roundcube и авторизоваться, используя новую почтовую учетную запись.
https://mail.your-domain.com/mail/

Теперь вы можете проверить процесс отправки и получения электронной почты. Учтите, что может потребоваться несколько минут для доставки писем, так как по умолчанию 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.
Для изменения обратной записи DNS вашего VPS на Kamatera, зайдите в клиентскую зону Kamatera и откройте тикет в службе поддержки. Укажите, что необходимо добавить PTR-запись для вашего IP-адреса сервера, указывая его на mail.your-domain.com. Это может показаться не очень удобным, однако такая мера необходима для предотвращения злоупотреблений спамерами и для обеспечения хорошей репутации IP у легитимных отправителей электронной почты, таких как мы.
Запись SPF
Запись SPF (Sender Policy Framework) определяет, какие хосты или IP-адреса имеют право отправлять электронные письма от имени вашего домена. Необходимо разрешить отправку писем только с вашего собственного почтового сервера или сервера вашего интернет-провайдера для вашего домена. В интерфейсе управления DNS создайте новую TXT-запись, следуя приведённым ниже инструкциям.

- 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 представлен в фигурных скобках.

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

По завершении внесения изменений, выполните следующую команду для проверки корректности вашей записи 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].)

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

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

Ваше электронное письмо было отклонено почтовым ящиком 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
Пожалуйста, предоставьте текст, который вы хотите, чтобы я перефразировал.

Сохраните изменения в файле и закройте его. Убедитесь в правильности настроек 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.Если вам понравилась эта статья, подписывайтесь на нашу бесплатную рассылку, чтобы получать ещё больше полезных рекомендаций и советов.

