В данном руководстве мы объясним, как организовать несколько почтовых доменов (виртуальный хостинг) с использованием iRedMail, что представляет собой удобное решение для создания собственного почтового сервера.
Содержание статьи
- 1 Предварительные требования
- 2 Что требуется от вас сделать?
- 3 Внедрение дополнительных доменов в административной панели iRedMail.
- 4 Настройка записей MX, A и SPF для нового домена электронной почты.
- 5 Конфигурация подписки DKIM для свежего домена.
- 6 Конфигурация DMARC-записи для свежего домена
- 7 Конфигурация RoundCube, Postfix и Dovecot для работы с несколькими доменами.
- 8 Работа с почтовым клиентом на вашем ПК или мобильном устройстве.
- 9 Проверка SPF и DKIM записей
- 10 Что предпринять, если ваши письма по-прежнему оказываются в папке со спамом?
- 11 Обратный DNS для множества почтовых доменов?
- 12 Заключение
Предварительные требования
Для успешного выполнения этого руководства предполагается, что
- Вы уже сконфигурировали сервер iRedMail для работы с одним доменом.
- Вы используете iRedMail версии 0.9.8 или новее, где для работы с веб-почтой применяется Nginx. В этой версии поддержка веб-сервера Apache была отменена.
Что требуется от вас сделать?
Для того чтобы разместить несколько почтовых доменов, вам потребуется
- Создайте новый почтовый домен и добавьте пользователя через административную панель iRedMail.
- Настроить записи MX, A и SPF для нового почтового домена.
- Настроить DKIM-подпись для новых доменов.
- Создать запись DMARC для нового домена.
- Конфигурировать RoundCube Webmail, Postfix и Dovecot для работы с несколькими доменными именами.
Проверка обратного DNS применяется для того, чтобы установить соответствие между IP-адресом отправителя и именем хоста HELO. При добавлении нового почтового домена добавлять другую PTR-запись не требуется.
Внедрение дополнительных доменов в административной панели iRedMail.
Авторизуйтесь в админ-панели iRedMail с аккаунтом postmaster. ( https://mail.your-domain.com/iredadmin ) После этого добавьте необходимые домены в разделе «Добавить».

Затем необходимо внести пользователя в новый домен.

Настройка записей MX, A и SPF для нового домена электронной почты.
В вашем DNS-менеджере создайте MX-запись для нового домена, следуя приведённым ниже указаниям.
Тип записи Имя Значение MX @ mail.domain2.com
A-запись определяет IP-адрес вашего сервера электронной почты.
Тип записи Имя Значение A mail IP-адрес-почтового-сервера
Если на вашем сервере используется IPv6-адрес, не забудьте включить запись AAAA.
После этого настройте SPF-запись, чтобы разрешить хосту MX отправлять письма от имени нового почтового домена.
Тип записи Имя Значение TXT @ v=spf1 mx ~all
Конфигурация подписки DKIM для свежего домена.
Необходимо настроить amavisd для подписи каждого исходящего сообщения для нового почтового домена. Для этого отредактируйте файл /etc/amavis/conf.d/50-user.
sudo nano /etc/amavis/conf.d/50-user
Определите следующую последовательность.
dkim_key('domain1.comdkim находится по адресу /var/lib/dkim/domain1.com. pem');
Вставьте дополнительную строку для указания расположения закрытого ключа второго домена.
dkim_key('domain2.comdkim находится по адресу /var/lib/dkim/domain2.com.pem');
В разделе @dkim_signature_options_bysender_maps включите следующую строку.
"domain2.com" => < d =>"domain2.com", a => 'rsa

Сохраните файл и закройте его. После этого создайте закрытый ключ для второго домена.
sudo amavisd-new genrsa /var/lib/dkim/domain2.com.pem 2048
sudo systemctl restart amavis
Если Amavis не может быть перезапущен, возможно, потребуется сменить владельца ключа и попытаться запустить его заново.
sudo chown amavis:amavis /var/lib/dkim/ - R
Затем покажите доступные ключи.
sudo amavisd-new showkeys
Все доступные ключи будут показаны. Нам требуется открытый ключ второго домена, который указан в скобках.

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

После внесения изменений проверьте TXT-запись, используя следующую команду.
dig TXT dkim._domainkey.domain2.com
Теперь вы можете использовать следующую команду для проверки корректности вашей DNS-записи DKIM.
sudo amavisd-new testkeys
Если DNS-запись корректна, тест будет успешным.
TESTING#1 domain1.com: dkim._domainkey. domain1.com => pass TESTING#2 domain2.com: dkim._domainkey. domain2.com => pass
Имейте в виду, что вашей DKIM-записи может потребоваться время для распространения в сети. В зависимости от вашего регистратора доменов, процесс может произойти мгновенно или занять до 24 часов. Вы можете посетить сайт https://www.dmarcanalyzer.com/dkim/dkim-check/, указать dkim в качестве селектора и ввести название вашего домена для проверки статуса распространения записи DKIM.
Конфигурация DMARC-записи для свежего домена
Для создания DMARC-записи откройте менеджер DNS и добавьте новую TXT-запись. В поле имени укажите _dmarc, а в поле значения вставьте следующий текст:

Приведённая выше запись DMARC служит надёжной начальной точкой. Для детального объяснения DMARC рекомендуется ознакомиться с соответствующей статьёй.
- Настройка DMARC-записи для обеспечения защиты вашего домена от фальсификации электронной почты.
Конфигурация RoundCube, Postfix и Dovecot для работы с несколькими доменами.
Рекомендуется предоставить пользователям первого домена доступ через mail.domain1.com, а второго — через mail.domain2.com при работе с веб-почтой RoundCube.
Перейдите в каталог /etc/nginx/.
cd /etc/nginx/
Создайте новый пустой конфигурационный файл для второго домена в каталоге /etc/nginx/sites-enabled/.
sudo touch sites-enabled/mail.domain2.com.conf
Сохраните стандартные настройки HTTP сайта в отдельный файл.
cat sites-enabled/00-default.conf | sudo tee - a sites-enabled/mail.domain2.com.conf
Сохраните стандартные SSL-конфигурации сайта в отдельный файл.
cat sites-enabled/00-default-ssl.conf | sudo tee - a sites-enabled/mail.domain2.com.conf
Измените файл конфигурации виртуального хоста.
sudo nano sites-enabled/mail.domain2.com.conf
Определите следующую строку.
server_name _;
Необходимо заменить server_name на mail.domain2.com, так как впоследствии потребуется использовать Certbot для создания нового TLS-сертификата.
server_name mail.domain2.com;
Есть два экземпляра server_name, необходимо изменить оба. После этого сохраните файл и закройте его. Затем проверьте конфигурацию Nginx.
sudo nginx - t
Если тест прошёл успешно, перезапустите Nginx, чтобы изменения начали действовать.
sudo systemctl reload nginx
Теперь применяйте плагин webroot Certbot для получения TLS-сертификата для всех ваших почтовых доменов. Это позволит вам создать один TLS-сертификат, который будет содержать несколько доменных имен, что избавит почтовых клиентов от предупреждений о безопасности.
sudo certbot certonly --webroot --agree-tos - d mail.domain1.com,mail.domain2.com --cert-name mail.domain1.com --email your-email-address - w /var/www/html
Учтите, что в указанной выше команде мы указали название сертификата, основываясь на первом почтовом домене, который будет использован в пути к файлу. Это позволит избежать необходимости вносить изменения в путь к файлу в конфигурациях Postfix или Dovecot.
Если вам предложат обновить действующий сертификат для добавления нового домена, введите U и нажмите Enter.

Теперь вам должно быть видно сообщение, которое подтверждает успешное получение сертификата для нескольких доменов.

Если вы встретили эту ошибку,
Подробности: Неверный ответ от https://mail.domain2.com/.well-known/acme-challenge/j3Nd2mNFQ43P9xLJSP4IFAiRytDCb3bemZwuAxDzWQc [xx. xx. xx. xx]: 404
Вам потребуется установить плагин certbot для nginx, чтобы получить сертификат TLS.
sudo apt install python3-certbot-nginx sudo certbot certonly - a nginx --agree-tos - d mail.domain1.com,mail.domain2.com --cert-name mail.domain1.com --email ваш-адрес-электронной-почты
После установки TLS-сертификата выполните перезагрузку Nginx для активации нового сертификата.
sudo systemctl reload nginx
Теперь у вас есть возможность использовать различные домены для доступа к RoundCube webmail.Кроме того, необходимо перезапустить сервер SMTP Postfix и сервер IMAP Dovecot, чтобы они смогли обновить сертификат.
sudo systemctl reload postfix dovecot
Работа с почтовым клиентом на вашем ПК или мобильном устройстве.
Откройте ваш почтовый клиент на компьютере, например, Mozilla Thunderbird, и настройте почтовый аккаунт для второго домена.
- В настройках входящего сервера выберите IMAP в качестве протокола, укажите mail.domain2.com как имя сервера, установите порт 143 и выберите метод шифрования STARTTLS. В качестве метода аутентификации выберите обычный пароль.
- В разделе исходящих настроек выберите протокол SMTP, укажите mail.domain2.com в качестве адреса сервера, выберите порт 587 и используйте метод шифрования STARTTLS. В качестве способа аутентификации выберите обычный пароль.

Вы можете подключаться к IMAP через порт 993 с включенным шифрованием SSL/TLS, а для SMTP используйте порт 465 с аналогичным шифрованием. Порт 25 не рекомендуется для отправки исходящих писем в качестве SMTP-порта.
Сервер SMTP Postfix и сервер IMAP Dovecot, хотя и опираются на имя хоста основного почтового домена (mail.domain1.com) при обмене данными, теперь применяют многодоменный сертификат. Это позволяет избежать предупреждений о сертификатах в почтовом клиенте.
Проверка SPF и DKIM записей
Теперь у вас есть возможность воспользоваться настольным или веб-почтовым клиентом для отправки тестового письма на адрес [email protected] и получения бесплатного отчета о проверке электронной почты. Вот отчет, который я получил от port25.com.

Обязательно оцените свой почтовый рейтинг на сайте https://www.mail-tester.com и проверьте отправку письма с помощью сервиса GlockApps.
Если проверка DKIM не прошла успешно, вы можете посетить сайт https://www.dmarcanalyzer.com/dkim/dkim-check/, чтобы выяснить, имеются ли ошибки в вашей записи DKIM.

Что предпринять, если ваши письма по-прежнему оказываются в папке со спамом?
Вот несколько дополнительных рекомендаций в данной статье: 7 действенных способов предотвратить попадание ваших писем в спам. Несмотря на то что это займет некоторое время и потребует усилий, ваши сообщения в конечном итоге окажутся в папке "Входящие" после реализации этих советов.
Обратный DNS для множества почтовых доменов?
Обратный DNS (rDNS), или PTR-запись, служит для подтверждения соответствия IP-адреса отправителя и имени хоста HELO. При добавлении нового почтового домена не требуется создавать дополнительную PTR-запись. Ваш rDNS должен указывать только на одно имя хоста, которое настраивается в Postfix и может быть отображено с помощью следующей команды.
postconf myhostname
rDNS представляет собой запись, ассоциированную с IP-адресами, а не с доменными именами. Если у вас имеется только один IP-адрес, вам потребуется лишь одна запись rDNS, которая указывает на конкретное имя хоста. Процесс проверки обратного DNS не анализирует, какое доменное имя указано в вашем письме в строке From:. Важно, чтобы у вашего IP-адреса была активная запись rDNS, и имя хоста должно успешно разрешаться обратно в этот IP-адрес; в таком случае проверка обратного DNS будет пройдена успешно.
Также вам не требуется изменять следующие параметры в Postfix при размещении нескольких доменов на одном сервере.
- myhostname
- myorigin
- mydestination
Почтовые хостинговые сервисы, такие как G Suite и Microsoft Exchange Online, применяют одно и то же доменное имя для сервера, чтобы отправлять электронные сообщения своим пользователям.
sudo postmap - F /etc/postfix/sni_maps
sudo systemctl restart postfix
Необходимо добавить опцию - F в postmap для корректного декодирования каждого значения в SNI-карте из base64. В противном случае, Postfix выдаст ошибку о неверном значении BASE64, которая будет записана в файл /var/log/mail.log. Следующая команда нуждается в исправлении.
sudo postmap /etc/postfix/sni_maps
Несколько сертификатов TLS для Dovecot
Необходимо включить все TLS-сертификаты, используемые в Postfix, в файл 10-ssl.conf Dovecot для правильной работы системы.
sudo nano /etc/dovecot/conf.d/10-ssl.conf
Вы можете обнаружить следующие строки.
ssl_cert =mail.domain1.comПолный путь к сертификату /fullchain. pem ssl_key =mail.domain1.com/privkey. pem
После этого добавьте такие строки.
local_name mail.domain1.com < ssl_cert =mail.domain1.comПолный путь к сертификату /fullchain. pem ssl_key =mail.domain1.com/privkey. pem > local_name mail.domain2.com < ssl_cert =mail.domain2.comПолный путь к сертификату /fullchain. pem ssl_key =mail.domain2.com/privkey. pem >
Закройте и сохраните файл, после чего перезапустите Dovecot.
sudo systemctl restart dovecot
Заключение
Это всё! Надеюсь, данный урок оказался полезным для вас в настройке нескольких почтовых доменов с iRedmail.Если вам понравился материал, подписывайтесь на нашу бесплатную рассылку, чтобы узнавать больше полезных советов и рекомендаций.

