Настроить почтовый сервер на Linux с нуля может быть непросто, особенно если у вас нет продвинутых навыков. В этом руководстве вы узнаете, как с помощью iRedMail быстро развернуть полноценный почтовый сервер на Ubuntu 22.04, что поможет вам существенно сэкономить время и избежать лишних трудностей. iRedMail — это решение для развертывания почтового сервера с открытым исходным кодом, которое позволяет легко настроить полноценный почтовый сервер с поддержкой IMAP, POP3 и SMTP.
iRedMail — это скрипт на shell, который автоматически устанавливает и конфигурирует все нужные компоненты для почтового сервера на Linux или BSD-системах, избавляя от необходимости ручной настройки. С его помощью можно без труда создавать неограниченное количество почтовых ящиков и доменов через админскую панель с веб-интерфейсом. Почтовые данные могут храниться в базах данных MariaDB/MySQL, PostgreSQL или OpenLDAP. Ниже представлен перечень программ с открытым исходным кодом, которые будут автоматически установлены и настроены iRedMail.
- SMTP сервер Postfix
- IMAP сервер Dovecot
- Nginx — сервер для администрирования и управления веб-почтой.
- Для хранения данных о пользователях можно использовать OpenLDAP, MySQL/MariaDB или PostgreSQL.
- Amavisd-new для реализации подписания и верификации DKIM
- SpamAssassin для борьбы со спамом
- Антивирусная защита с помощью ClamAV
- Веб-почта Roundcube
- SOGo — это групповое программное обеспечение, которое предлагает услуги веб-почты, календаря (CalDAV), управления контактами (CardDAV), задач и поддержки ActiveSync.
- Fail2ban для обеспечения безопасности SSH
- менеджер по электронной почте mlmmj
- Мониторинг сервера с помощью Netdata
- Сервер политики Postfix iRedAPD для использования серого списка.
Содержание статьи
- 1 Найдите подходящего провайдера хостинга и зарегистрируйте доменное имя
- 2 Настройка записи DNS MX
- 3 Установка имени хоста
- 4 Конфигурация почтового сервера на Ubuntu 22.04 с помощью iRedMail
- 5 Инсталляция TLS-сертификата от Let’s Encrypt
- 6 Не удалось получить сертификат для TLS
- 7 Установка SSL-сертификата в Nginx
- 8 Настройка TLS-сертификата для Postfix и Dovecot
- 9 Отправка пробного письма
- 10 Создание файла подкачки
- 11 Применение почтовых программ на вашем компьютере или мобильном устройстве
- 12 Fail2ban заблокировал ваш собственный IP-адрес
- 13 Оптимизация процесса отправки электронных писем
- 14 Проверка оценки и отправка электронной почты
- 15 Активация порта SMTPS 465
Найдите подходящего провайдера хостинга и зарегистрируйте доменное имя
Чтобы настроить полноценный почтовый сервер с помощью iRedMail, вам потребуется сервер с минимум 3 ГБ оперативной памяти, так как после установки он будет расходовать более 2 ГБ ОЗУ.
Рекомендуется устанавливать iRedMail на новый сервер с Ubuntu 22.04. Если вы устанавливаете его на уже работающий сервер, существует риск удаления ваших текущих баз данных.
Данный учебник создан с использованием VPS (виртуального частного сервера) от Kamatera, стоимостью 9 долларов в месяц, который имеет 1 процессор и 3 ГБ оперативной памяти. Также предоставляется 30-дневный бесплатный пробный период.
Kamatera — отличный выбор для создания почтового сервера, поскольку
- Порт 25 не заблокирован, что позволяет вам отправлять неограниченное количество писем, включая транзакционные и рассылки, без дополнительных затрат на услуги SMTP-реле. У Kamatera отсутствуют ограничения на SMTP, что дает возможность отправлять миллионы писем ежедневно.
- IP-адрес не попал в черные списки. (По крайней мере, так сложилось в моем случае, когда я выбрал дата-центр в Далласе.) Вам не стоит оказываться в черном списке Microsoft Outlook или Spamrats. Некоторые черные списки могут блокировать целые диапазоны IP-адресов, и тогда вы не сможете исключить свой адрес из этого списка.
- Редактирование записи PTR поможет повысить успешность доставки ваших писем.
- Они дают возможность отправлять рассылки вашим подписчикам без ограничений по времени в часах или днях.
- На одном сервере можно заказать несколько IP-адресов. Это особенно полезно для тех, кто отправляет значительные объемы писем. Разделение трафика электронной почты между несколькими IP-адресами способствует улучшению доставляемости сообщений.
Некоторые провайдеры VPS, такие как DigitalOcean, закрывают порт 25. У DigitalOcean нет возможности разблокировать этот порт, поэтому вам придется настраивать SMTP-реле, чтобы обойти это ограничение, что может привести к дополнительным расходам. В случае с VPS от Vultr порт 25 также по умолчанию закрыт. Его можно разблокировать, открыв тикет в службу поддержки, но существует вероятность, что его снова заблокируют, если посчитают, что ваша деятельность по отправке электронной почты является недопустимой. Vultr может вновь ограничить доступ, если вы будете использовать их серверы для рассылок.
Зайдите на сайт Kamatera, чтобы зарегистрироваться, после чего настройте сервер через панель управления своим аккаунтом.

После того как сервер будет создан, Kamatera пришлет вам письмо с информацией для доступа к серверу через SSH. Для подключения используйте SSH-клиент. Если вы работаете на Linux или macOS, откройте терминал и введите следующую команду для подключения к серверу, заменив 12.34.56.78 на IP-адрес вашего сервера. Для начала вам потребуется доменное имя. Я выбрал регистрацию своего домена на NameCheap, так как там доступные цены, и они предлагают бесплатную защиту конфиденциальности whois на весь срок использования.
Настройка записи DNS MX
Запись MX определяет, какие серверы обрабатывают электронные письма для определенного доменного имени. Например, сервер, отвечающий за электронные письма для linux16.ru, — это mail.linux16.ru. Когда пользователь с Gmail отправляет письмо на [email protected], сервер Gmail запрашивает запись MX для linux16.ru. Обнаружив, что mail.linux16.ru ответственен за прием почты, он затем запрашивает запись A для mail.linux16.ru, чтобы получить соответствующий IP-адрес и обеспечить доставку письма.
В вашем DNS-менеджере необходимо добавить MX-запись для вашего домена. В поле «Имя» укажите @, чтобы обозначить основное доменное имя, а в поле «Значение» впишите mail.your-domain.com.

Имя хоста в MX-записи не должно быть алиасом для другого доменного имени. Также рекомендуется указывать именно имена хостов, а не IP-адреса при настройке MX-записи.
Ваш DNS-менеджер может запросить ввод значения предпочтения (также называемого значением приоритета), которое может находиться в диапазоне от 0 до 65 356. Чем меньше число, тем выше приоритет. Рекомендуется установить значение 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
Конфигурация почтового сервера на Ubuntu 22.04 с помощью iRedMail
Введите указанные команды, чтобы скачать актуальную версию установочного скрипта iRedMail из репозитория на Github.
wget https://github.com/iredmail/iRedMail/archive/1.6.8.tar.gz
Распакуйте архивный файл.
tar xvf 1.6.8.tar.gz
После этого войдите в только что созданную папку.
cd iRedMail-1.6.8/
Предоставьте разрешения для запуска скрипта iRedmail.sh.
chmod +x iRedmail.sh
После этого запустите Bash-скрипт с правами администратора.
sudo bash iRedmail.sh
Запустится мастер конфигурации почтового сервера. Нажмите клавишу Tab для выбора «Да» и подтвердите нажатием Enter.

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

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

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

При выборе MariaDB или MySQL необходимо установить пароль для пользователя root в MySQL.

Имейте в виду, что при выборе MariaDB вам не потребуется вводить пароль для доступа к оболочке MariaDB. Вместо стандартной команды
mysql - u root - p
вы можете воспользоваться командой, чтобы войти с помощью sudo, не вводя пароль root для MariaDB.
sudo mysql - u root
Это обусловлено тем, что в пакете MariaDB для Ubuntu 22.04 применяется плагин аутентификации unix_socket, позволяющий пользователям входить в MariaDB с использованием учетных данных операционной системы. Тем не менее, необходимо установить пароль для пользователя root во время настройки iRedMail.
В следующем шаге введите свой первый домен электронной почты. Дополнительные домены можно добавить позже через веб-интерфейс администраторской панели. В данном руководстве подразумевается, что вы хотите создать электронную почту в формате [email protected]. Для этого укажите ваш-домен.com здесь, без указания поддомена. Не добавляйте пробел после имени домена, так как iRedMail может захватить пробел вместе с названием домена, что приведет к ошибке при установке.

Установите пароль для администратора домена электронной почты.

Выберите дополнительные компоненты. По умолчанию выбрано 4 элемента. Учтите, что групповой программный пакет SOGo в настоящее время не совместим с Ubuntu 22.04, поэтому его не следует выбирать.

Теперь у вас есть возможность просмотреть свои настройки. Нажмите Y для начала установки всех элементов почтового сервера. После завершения установки выберите «y», чтобы активировать правила брандмауэра, предложенные iRedMail, и перезапустите брандмауэр. Установка iRedMail успешно завершена. Вы получите уведомления о URL для веб-почты, групповом ПО SOGo и панели веб-администрирования, а также о данных для доступа. В файле iRedmail.tips содержится важная информация о вашем сервере iRedMail. Перезапустите сервер с Ubuntu 22.04.
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) на операционную систему Ubuntu 22.04.
sudo apt install certbot python3-certbot-nginx - y
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 часов. Чтобы проверить статус распространения DNS, посетите сайт https://dnsmap.io и введите имя вашего почтового сервера (mail.your-domain.com).
Вероятно, вы добавили запись 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.
Установка SSL-сертификата в 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/privkey.pem;
Сохраните изменения в файле и закройте его. После этого проверьте конфигурацию nginx и выполните перезагрузку.
sudo nginx -t sudo systemctl reload nginx
Вернитесь к панели управления iRedMail, и ваш веб-браузер больше не будет выдавать предупреждения, так как Nginx теперь применяет корректный сертификат TLS.

Настройка TLS-сертификата для Postfix и Dovecot
Также требуется настроить SMTP-сервер Postfix и IMAP-сервер Dovecot с использованием сертификата, выданного 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 = /etc/ssl/certs/iRedmail.crt ssl_key = /etc/ssl/private/iRedmail.key
Поменяйте их на:
ssl_cert = /etc/letsencrypt/live/ mail.your-domain.com/fullchain. pem ssl_key = /etc/letsencrypt/live/ mail.your-domain.com/privkey. pem
Сохраните изменения и закройте файл. После этого выполните перезагрузку Dovecot.
sudo systemctl reload dovecot
Теперь пользователи настольной почтовой программы больше не будут получать уведомления о безопасности.
Отправка пробного письма
Авторизуйтесь в панели iredadmin под учетной записью postmaster ([email protected]). В разделе «Добавить» можно создать новые домены или email-адреса. Для более глубокого понимания процесса настройки и защиты почтовых серверов, стоит обратить внимание на документацию Let’s Encrypt, а также изучить информацию по безопасности SMTP и IMAP серверов, включая RFC 3207 и RFC 8314.

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

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

- TXT обозначает, что это текстовая запись.
- Введите символ @ в строке имени, чтобы указать основное доменное имя.
- Запись v=spf1 обозначает, что это запись SPF, при этом версия — SPF1.
- mx указывает на то, что все хосты, указанные в записях MX, имеют право отправлять электронные письма от имени вашего домена, в то время как всем остальным хостам это действие запрещено.
- ~all указывает на то, что письма, отправленные с вашего домена, должны приходить исключительно от серверов, перечисленных в записи SPF. Сообщения, отправленные с других серверов, будут считаться подделанными.
Для того чтобы убедиться, что ваша запись SPF была распространена в открытом интернете, можно воспользоваться утилитой dig на вашем компьютере с операционной системой Linux, как это показано ниже:
dig your-domain.com txt
Опция txt указывает dig, что необходимо запрашивать исключительно записи типа TXT.
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 часов. Чтобы проверить статус распространения DKIM-записи, вы можете посетить https://www.dmarcanalyzer.com/dkim/dkim-check/, указать dkim в качестве селектора и ввести имя вашего домена.
DMARC расшифровывается как аутентификация сообщений на основе домена с возможностью отчетности и контроля. Эта технология помогает почтовым серверам, принимающим сообщения, распознавать подлинные письма и защищает ваше доменное имя от мошеннического использования в спуфинге.
Для настройки записи DMARC откройте ваш DNS-менеджер и добавьте новую запись типа TXT. В поле имени укажите _dmarc, а в значении введите нужные данные. (Не забудьте создать электронный адрес [email protected].)

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

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

Microsoft применяет собственный черный список, который может блокировать множество законных IP-адресов. Если ваши письма не доходят до Outlook или Hotmail, вам следует ознакомиться с инструкцией ниже, чтобы обойти блокировку 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,
location ~ /.well-known/acme-challenge < root /var/www/html/; allow all; >

Сохраните изменения в файле и закройте его. Убедитесь в корректности конфигурации Nginx и выполните ее перезагрузку.
sudo nginx - t sudo systemctl reload nginx
Если пробный запуск завершился успешно, вы можете настроить задание Cron для автоматического продления сертификата. Для этого откройте файл crontab для пользователя root.
sudo crontab - e
После этого вставьте следующую строку в конец документа.
@daily certbot renew - w /var/www/html --quiet && systemctl reload postfix dovecot nginx
Необходимо перезапустить Postfix, Dovecot и Nginx, чтобы они смогли использовать новый сертификат и закрытый ключ.
Ваш главный почтовый сервер может иногда испытывать недоступность. Если он размещён в дата-центре, время простоя обычно минимально, что позволяет избежать беспокойства о потерях входящих писем. В случае, если сервер находится у вас дома, предсказать время простоя сложно, поэтому разумно настроить резервный почтовый сервер в дата-центре, чтобы предотвратить возможные потери. Для работы резервного почтового сервера достаточно 512 МБ оперативной памяти. Надеюсь, данное руководство оказалось полезным для вас в настройке почтового сервера на Ubuntu 22.04 с использованием iRedmail.

