Часто возникают ситуации, когда требуется отправлять почту с сервера — уведомления о заказах, сообщения о регистрации новых пользователей или ошибках и многое другое. Если на сервере установлен ISPmanager, настроить почту через его веб-интерфейс довольно просто. Гораздо труднее разобраться с отправкой писем, если панели управления нет — настройка почты вручную требует некоторых навыков администрирования и работы в консоли.
Если планируете использовать много ящиков и большое количество почтовых доменов, рекомендуем рассмотреть вариант установки панели на ваш сервер. Будет быстрее и удобнее. Для тех, кому этот вариант не подходит, мы подготовили инструкцию, в которой расскажем, как настроить почтовый сервер без помощи ISPmanager.
Мы будем настраивать наш почтовый сервер на базе postfix и dovecot. Проведем предварительную подготовку, создадим виртуальных пользователей и покажем два варианта настройки: в первом почтовые ящики и пароли от них будут храниться в файле, во втором — в БД.
В качестве примера используем домен mailtest.fvds.ru. Не забудьте при настройке заменить его на свой, с которого будет отправляться почта.
Важно! Если поток почтового трафика ожидается довольно большой, то мы рекомендуем выбирать сервер на виртуализации KVM и добавить его ip в белый список — для подтверждения легальности рассылок.
Настраиваем PTR:
PTR-запись связывает ip-адрес с именем хоста. Если PTR-запись указана неверно, то ваши письма будут отклоняться и не дойдут до адресата.
Изменить PTR можно двумя способами:
- Через личный кабинет:
Товары
—Виртуальные серверы
— выбираете ваш сервер —IP-адреса
— выбираете ip —Изменить
, в поле «Домен» указываете ваш почтовый домен. - Через VMmanager:
Управление
—Виртуальные серверы
— выбираете ваш сервер —IP-адреса
— выбираете ip —Изменить
. В поле «Домен» указываете ваш почтовый домен.
Настраиваем hostname:
Hostname — это имя сервера. Он должен совпадать с именем домена, с которого отправляется почта. Если hostname будет указан неверно, то почта либо не дойдёт до адресата, либо попадёт в спам.
Заходим на сервер по ssh и выполняем следующую команду (здесь и далее практически вся настройка будет происходить в консоли):
hostnamectl set-hostname mailtest.fvds.ru
Настроим MX-записи:
MX-записи нужны для того, чтобы работала входящая почта. Они указывают, какими почтовыми серверами обслуживается домен.
На серверах имён домена размещаем запись следующего содержания (домен нужно заменить на свой):
Это пример из панели управления DNSmanager, если у вас другая панель управления записями домена, то нужно выполнить настройку по аналогии. Главное, чтобы MX-запись была направлена на ваш почтовый сервер.
Как создать домен на наших серверах имён в DNSmanager, можете узнать из статьи.
Открываем порты в фаерволле:
Чтобы сервер мог обмениваться данными с другими серверами в сети, нужно открыть доступ к портам, через которые будут происходить подключения.
Centos:
При использовании firewalld:
firewall-cmd --permanent --zone=public --add-port=25/tcp
firewall-cmd --permanent --zone=public --add-port=465/tcp
firewall-cmd --permanent --zone=public --add-port=587/tcp
firewall-cmd --permanent --zone=public --add-port=110/tcp
firewall-cmd --permanent --zone=public --add-port=143/tcp
firewall-cmd --permanent --zone=public --add-port=993/tcp
firewall-cmd --permanent --zone=public --add-port=995/tcp
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --permanent --zone=public --add-port=443/tcp
firewall-cmd --reload
При использовании iptables:
iptables -I INPUT -p tcp -m tcp --dport 25 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 465 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 587 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 110 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 143 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 993 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 995 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT
service iptables save
На Debian и Ubuntu при чистой установке порты не закрыты, поэтому если у вас чистый сервер, то делать ничего не нужно. Если же вы меняли настройки фаервола, то нужно открыть в нём следующие порты:
25, 465, 587, 110, 143, 993, 995, 80, 443.
Создадим пользователя для почтового сервера:
Почтовый сервер будет работать под своим пользователем и все письма будут складываться в его домашнюю директорию.
groupadd -g 5000 vmail
useradd -r -u 5000 -g vmail -d /var/mail/vmail -m -s /sbin/nologin -c "Virtual Mail User" vmail
chmod -R 770 /var/mail/vmail
chown -R vmail:vmail /var/mail/vmail
Подготовительные работы завершены и мы переходим к настройке самого почтового сервера. Сделать это можно двумя способами — первый попроще. Чтобы выбрать подходящий для себя вариант, рекомендуем ознакомиться с обоими: