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

Рекомендую ознакомиться с учебным пособием, представленным ниже, для корректной настройки вашего Linux VPS сервера на платформе Kamatera.
- Как запустить сервер Linux VPS на платформе Kamatera
После создания сервера Kamatera пришлет вам электронное сообщение с информацией для доступа через SSH. Для подключения к вашему серверу используйте 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-адрес, что позволяет доставить электронное сообщение.
Вы можете посетить сайт вашего провайдера доменов, такого как NameCheap, для создания записей DNS.
В вашем DNS-менеджере добавьте MX-запись для своего домена. В качестве значения в поле Name укажите @, чтобы обозначить основное доменное имя, а в поле Value введите 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. Для этого выполните следующую команду, заменив имя пользователя на желаемое.
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 11 с использованием iRedMail
Выполните следующие команды, чтобы скачать актуальную версию установочного скрипта iRedMail из его репозитория на Github.
wget https://github.com/iredmail/iRedMail/archive/1.5.1.tar.gz
Распакуйте архивный файл.
tar xvf 1.5.1.tar.gz
Затем откройте вновь созданную папку.
cd iRedMail-1.5.1/
Предоставьте скрипту iRedmail.sh разрешение на выполнение.
chmod +x iRedmail.sh
На следующем этапе запустите Bash-скрипт с правами суперпользователя.
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 (веб-почта, календарь, адресная книга, ActiveSync), используйте клавишу вниз и пробел для выбора. Нажмите Enter, чтобы перейти к следующему экрану.

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

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

Перезапустите ваш сервер на базе Debian 11.
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 11.
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-записи еще не обновлены в Интернете. В зависимости от вашего регистратора доменных имен, обновление 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_certificate_key /etc/letsencrypt/live/mail.your-domain.com/p

Настройка 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/cert. 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 может функционировать некорректно, что повлияет на способность почтового сервера отправлять сообщения. Вы можете увеличить общее количество оперативной памяти, добавив файл подкачки. Однако стоит учитывать, что использование файла подкачки может негативно сказаться на производительности сервера. Для достижения лучших результатов рекомендуется повысить объем физической оперативной памяти вместо того, чтобы полагаться на файл подкачки.
Для добавления пространства подкачки на сервере сначала выполните команду fallocate для создания файла. К примеру, создайте файл с названием swapfile объемом 1G в корневой файловой системе:
sudo fallocate - l 1G /swapfile
После этого проверьте, чтобы доступ к чтению и записи имел только пользователь root.
sudo chmod 600 /swapfile
Отформатируйте его для загрузки.
sudo mkswap /swapfile
Настройка пространства подкачки версии 1, размер = 1024 МиБ (1073737728 байт) без метки, UUID=0aab5886-4dfb-40d4-920d-fb1115c67433
Активируйте файл подкачки.
sudo swapon /swapfile
Для настройки автоматического монтирования раздела подкачки при старте системы, необходимо внести изменения в файл /etc/fstab.
sudo nano /etc/fstab
Вставьте следующую строку в конец данного файла.
/swapfile swap swap defaults 0 0
Сохраните изменения в файле и закройте его. После этого перезагрузите systemd и запустите 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-адреса, как указано в девятом шаге.
Применение почтовых клиентов на вашем ПК или мобильном устройстве.
Откройте свой настольный почтовый клиент, такой как Mozilla Thunderbird, и настройте почтовый аккаунт.
- В разделе настройки входящего сервера выберите протокол IMAP. Укажите mail.your-domain.com в качестве имени сервера, установите порт 143 и выберите STARTTLS. В качестве метода аутентификации выберите обычный пароль.
- В настройках исходящего сервера выберите протокол SMTP, укажите mail.your-domain.com в качестве адреса сервера, установите порт 587 и выберите STARTTLS. В качестве метода аутентификации выберите обычный пароль.

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

- TXT обозначает, что это запись типа TXT.
- Для обозначения основного доменного имени введите символ @ в поле имени.
- Запись v=spf1 обозначает, что это SPF-запись версии 1.
- MX указывает, что только хосты, указанные в записях MX, могут отправлять электронные письма от имени вашего домена, а все другие хосты не имеют на это права.
- ~Запись all обозначает, что сообщения с вашего домена должны отправляться исключительно через серверы, указанные в SPF. Все письма от других серверов будут отмечены как фальшивые.
Чтобы убедиться, что ваша запись SPF доступна в публичной сети, можно воспользоваться утилитой dig на компьютере с Linux, как в примере ниже:
dig your-domain.com txt
Параметр txt указывает dig, что нужно запросить исключительно TXT-записи.
Запись DomainKeys Identified Mail (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-запись корректна, тест будет выполнен успешно. Имейте в виду, что распространение вашей DKIM-записи в Интернете может занять некоторое время. В зависимости от вашего регистратора доменов, DNS-запись может обновиться мгновенно или же на это может уйти до 24 часов. Вы можете посетить сайт https://www.dmarcanalyzer.com/dkim/dkim-check/, ввести "dkim" в качестве селектора и указать ваше доменное имя для проверки статуса распространения DKIM-записи.
TESTING#1 linux16.ru: dkim._domainkey. linux16.ru => pass
Запись DMARC
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
Активация порта 465 для SMTPS.
Если вы планируете использовать клиент Microsoft Outlook, необходимо активировать SMTPS на порту 465 в сервере Postfix SMTP.
Диагностика и решение проблем
В начале рекомендуем использовать VPS с объемом оперативной памяти не менее 4 ГБ. Попытка установить iRedMail на VPS с 1 ГБ ОЗУ может привести к сбоям в работе базы данных, SpamAssassin или ClamAV из-за нехватки ресурсов.
location ~ /.well-known/acme-challenge < root /var/www/html/; allow all; >

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

