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

Рекомендую ознакомиться с уроком ниже, чтобы корректно настроить ваш VPS-сервер на Linux в Kamatera.
- Как развернуть VPS сервер на Linux в 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-адрес, и таким образом сообщение может быть доставлено.
Создайте MX-запись для вашего домена в DNS-менеджере. В поле «Имя» укажите @ для обозначения основного домена, а в поле «Значение» впишите 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 yum update - y
Рекомендую создать пользователя с правами sudo для управления вашим сервером вместо использования учетной записи root по умолчанию, что поможет улучшить безопасность. Чтобы создать пользователя, выполните следующую команду, заменив username на желаемое имя пользователя.
sudo adduser username
Создайте пароль для данного пользователя.
sudo passwd username
Добавьте данного пользователя в группу wheel для получения доступа к sudo.
sudo gpasswd - a username wheel
Перейдите к другому пользователю.
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
Настройка почтового сервера на CentOS 7 с использованием iRedMail.
Используйте следующие команды, чтобы скачать актуальную версию установочного скрипта iRedMail из его репозитория на Github.
sudo dnf install wget tar - y
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.

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

Выберите дополнительные элементы. По умолчанию активированы все четыре компонента. Просто нажмите клавишу Enter.

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

Установка iRedMail успешно завершена. Вам будет предоставлена информация о URL веб-почты, администраторской панели и данных для входа. Файл iRedmail.tips содержит ключевую информацию о вашем сервере iRedMail.
Перезапустите ваш сервер на базе CentOS 7.
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) на CentOS 7.
sudo yum install certbot python-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).
Установка SSL-сертификата в Nginx
После получения сертификата TLS, давайте перейдем к настройке веб-сервера Nginx для его применения. Измените файл шаблона SSL.
sudo nano /etc/nginx/templates/ssl. tmpl
Найдите следующие две строки.
ssl_certificate /etc/pki/tls/certs/iRedmail.crt; ssl_certificate_key /etc/pki/tls/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/pki/tls/private/iRedmail.key smtpd_tls_cert_file = /etc/pki/tls/certs/iRedmail.crt smtpd_tls_CAfile = /etc/pki/tls/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/pki/tls/certs/iRedmail.crt ssl_key = </etc/pki/tls/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, используя учетную запись администратора почты ([email protected]). На вкладке «Добавить» у вас есть возможность добавить новые домены или электронные адреса.
Если вы столкнулись с ошибкой «нет домена под контролем», рекомендуем ознакомиться с данной статьей.
После регистрации пользователя можно перейти на сайт веб-почты Roundcube и авторизоваться, используя новый почтовый аккаунт.
https://mail.your-domain.com/mail/
Теперь у вас есть возможность проверить отправку и получение электронных писем. Учтите, что для получения писем может понадобиться несколько минут, так как iRedMail по умолчанию использует серую регистрацию. Это механизм, который уведомляет другие SMTP-серверы о том, чтобы они повторили попытку через некоторое время. В журнале почты по пути /var/log/maillog вы можете увидеть, что серая регистрация активирована.
Проверка функционирования ClamAV
ClamAV предназначен для проверки электронных писем на наличие вирусов. Однако эта программа может потреблять значительное количество оперативной памяти. Если оперативной памяти на вашем сервере недостаточно, это может привести к неправильной работе ClamAV, что, в свою очередь, повлияет на отправку писем вашим почтовым сервером. Для проверки статуса ClamAV используйте:
systemctl status clamd@amavisd
Если ваш ClamAV регулярно срабатывает, как указано ниже, это свидетельствует о наличии проблемы.

systemctl status clamd@amavisd
.» width=»848″ height=»226″ />
Ознакомьтесь с записями ClamAV.
sudo journalctl - eu clamd@amavisd
Если в журналах появляется следующая запись, это свидетельствует о том, что вашему серверу не хватает оперативной памяти для корректной работы ClamAV.
daemonize() failed: Cannot allocate memory
Вы можете создать файл подкачки на вашем сервере для увеличения общего объема оперативной памяти. Однако стоит учитывать, что использование подкачки может существенно снизить производительность системы. Для достижения лучшей эффективности рекомендуется увеличить объем физической памяти, а не полагаться на файл подкачки.
Для добавления пространства подкачки на сервер сначала воспользуйтесь командой fallocate для создания файла. Например, создайте файл с названием swapfile объемом 1G в корневой файловой системе.
sudo fallocate - l 1G /swapfile
После этого проверьте, чтобы доступ к чтению и записи имел только пользователь root.
sudo chmod 600 /swapfile
Проведите форматирование для улучшения отображения.
sudo mkswap /swapfile
Настройка пространства подкачки версия 1, размер = 2014 MiB (536866816 байт) без метки, UUID=0aab5886-4dfb-40d4-920d-fb1115c67433
Активируйте файл подкачки.
sudo swapon /swapfile
Пожалуйста, подождите несколько секунд: ваш ClamAV должен запуститься, и это не повлияет на способность вашего почтового сервера отправлять сообщения.
systemctl status clamd@amavisd

Для активации пространства подкачки во время загрузки системы необходимо внести изменения в файл /etc/fstab.
sudo nano /etc/fstab
Включите данную строку в конец этого документа.
/swapfile swap swap defaults 0 0
Сохраните файл и закройте его, после чего выполните перезагрузку systemd.
sudo systemctl daemon-reload
Убедитесь, что порт 25 (исходящий) не заблокирован.
Ваш интернет-провайдер или провайдер хостинга не будет блокировать входящие соединения на порт 25 вашего сервера, что позволяет вам принимать электронные письма от других почтовых серверов. Тем не менее, многие провайдеры блокируют исходящие соединения на порт 25, что мешает вам отправлять электронные письма.
Если ваше электронное письмо не достигло другого адреса, например, Gmail, вы можете воспользоваться утилитой telnet для проверки, открыт ли порт 25 (исходящий). Установите telnet на CentOS 7 следующим образом:
sudo yum install telnet
После этого выполните следующую команду на вашем почтовом сервере.
telnet gmail-smtp-in. l.google.com 25
Если порт 25 для исходящих соединений не заблокирован, вы получите сообщения, схожие с приведенными ниже, что свидетельствует о успешном подключении. (Совет: введите quit и нажмите Enter, чтобы завершить соединение.)
Trying 74.125.68.26. Connected to gmail-smtp-in. l.google.com. Escape character is '^]'. 220 mx. google.com ESMTP y22si1641751pll.208 - gsmtp
Если порт 25 (выходящий) закрыт, вы получите сообщение, похожее на следующее:
Trying 2607:f8b0:400e:c06::1a. Trying 74.125.195.27. telnet: Unable to connect to remote host: Connection timed out
В данном случае ваш Postfix не способен отправлять письма на другие SMTP-серверы. Свяжитесь с вашим интернет-провайдером или хостинг-компанией и попросите их разблокировать этот порт. Если они откажут, вам потребуется настроить SMTP-ретрансляцию для обхода блокировки порта 25.
Все еще не удается отправить электронное письмо?
Если порт 25 (исходящий) не заблокирован, но вы по-прежнему испытываете трудности с отправкой писем со своего почтового сервера на другие адреса, например, Gmail, стоит заглянуть в почтовый журнал (/var/log/mail.log).
sudo nano /var/log/mail.log
К примеру, у некоторых пользователей могут отображаться такие строки в документе.
host gmail-smtp-in. l.google.com[2404:6800:4003:c03::1b] said: 550-5.7.1 [2a0d:7c40:3000:b8b::2] Наша система обнаружила, что 550-5.7.1 это сообщение не соответствует рекомендациям по отправке IPv6
Откройте ваш десктопный почтовый клиент, например, Mozilla Thunderbird, и добавьте свой почтовый аккаунт. Если Thunderbird обнаружил настройки вашего почтового сервера, как указано ниже, просто нажмите кнопку «Готово», и вы сможете отправлять и получать электронные письма.
Если Thunderbird не обнаружил настройки вашего почтового сервера, нажмите на кнопку «Ручная настройка», чтобы ввести информацию о вашем почтовом сервере.
- В разделе настройки входящего сервера укажите протокол IMAP, введите mail.your-domain.com как адрес сервера, выберите порт 143 и активируйте STARTTLS. В качестве метода аутентификации выберите обычный пароль.
- В разделе исходящей почты выберите протокол SMTP, укажите mail.your-domain.com в качестве адреса сервера, настройте порт 587 и выберите STARTTLS. В качестве метода аутентификации выберите стандартный пароль.

Совет: Вы можете воспользоваться IMAP через порт 993, используя шифрование SSL/TLS.
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-запись
Запись указателя или 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
Запись SPF (Sender Policy Framework) устанавливает, какие IP-адреса или хосты могут отправлять электронные письма от имени вашего домена. Рекомендуется разрешить отправку писем только с вашего почтового сервера или сервера вашего интернет-провайдера (ISP). В вашем DNS-управлении добавьте новую 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 - c /etc/amavisd/amavisd.conf showkeys
Открытый ключ DKIM представлен в круглых скобках.

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

После того как вы сохранили изменения, введите следующую команду, чтобы убедиться в корректности вашей записи DKIM.
sudo amavisd - c /etc/amavisd/amavisd.conf testkeys
Если запись DKIM корректна, тест будет успешным.
TESTING#1 linux16.ru: dkim._domainkey. linux16.ru => pass
Учтите, что для распространения вашей записи DKIM в Интернете может потребоваться время. В зависимости от вашего регистратора доменов, DNS-запись может обновиться сразу или же этот процесс может занять до 24 часов. Чтобы проверить статус распространения записи 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, YahooMail, iCloud и другие.

Почтовый ящик Microsoft не принимает электронные письма?
Microsoft применяет собственный черный список, который запрещает доступ к множеству законных IP-адресов. Если ваши письма не доходят до Outlook или Hotmail, вам следует ознакомиться с инструкцией, приведенной ниже, чтобы обойти блокировку Microsoft Outlook.
В этой статье я подготовил дополнительные рекомендации, как избежать попадания ваших писем в спам. Это потребует определенных затрат времени и усилий, но в итоге ваши электронные письма окажутся в папке «Входящие» после выполнения этих советов.
Если вы планируете использовать клиент Microsoft Outlook, необходимо активировать порт SMTPS 465 на сервере Postfix SMTP.
Прежде всего, рекомендуется использовать VPS с минимум 4 ГБ оперативной памяти. Если вы попытаетесь запустить iRedMail на VPS с 1 ГБ ОЗУ, это может привести к сбоям в работе базы данных, SpamAssassin или ClamAV из-за недостатка памяти. При использовании VPS с 1 ГБ ОЗУ вы рискуете потерять входящие письма и столкнуться с другими неприятными последствиями.
Если веб-интерфейс iRedMail недоступен, например, появляется ошибка 502 Bad Gateway, стоит обратиться к логам Nginx, находящимся в каталоге /var/log/nginx/, для поиска возможных подсказок. Также может потребоваться проверить почтовый журнал по пути /var/log/maillog.
Убедитесь, что различные сервисы функционируют корректно.
systemctl status postfix systemctl status dovecot systemctl status nginx systemctl status mariadb systemctl status clamd@amavisd systemctl status amavisd
Если у вас активирован брандмауэр, необходимо разрешить доступ через следующие порты.
HTTP порт: 80 HTTPS порт: 443 SMTP порт: 25 Порт для отправки: 587 (и 465, если вы собираетесь использовать клиент электронной почты Microsoft Outlook) IMAP порт: 143 и 993
Если вы планируете настроить брандмауэр UFW, ознакомьтесь с моим руководством: Как начать работу с брандмауэром UFW на Debian и Ubuntu.
Как обновить TLS-сертификат
TLS-сертификат от Let’s Encrypt действует всего 90 дней, поэтому необходимо настроить задачу Cron для его автоматического обновления. Для продления сертификата можно использовать следующую команду.
sudo certbot renew - w /var/www/html
Опцию —dry-run можно использовать для проверки процесса продления без его фактического выполнения.
sudo certbot renew - w /var/www/html --dry-run
В случае, если при продлении TLS-сертификата возникает следующая ошибка.
Клиент не имеет достаточной авторизации :: Неверный ответ
В таком случае необходимо создать скрытую папку.
sudo mkdir - p /var/www/html/.well-known/acme-challenge
<n

Закройте и сохраните файл. Проверьте настройки 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-ретрансляцию для связи между ними, что позволит вашему сайту отправлять электронные письма через почтовый сервер. Обратитесь к следующей статье для получения дополнительных сведений.
- Конфигурация SMTP-ретрансляции между двумя серверами Postfix на операционных системах CentOS/RHEL.
Надеюсь, что данный учебник стал вам полезен в настройке почтового сервера на CentOS 7 с использованием iRedmail.Если вам понравился этот материал, не забудьте подписаться на нашу бесплатную рассылку, чтобы не пропустить новые советы и рекомендации.

