Подготовительные работы на сервере для настройки почты без панели

Часто возникают ситуации, когда требуется отправлять почту с сервера — уведомления о заказах, сообщения о регистрации новых пользователей или ошибках и многое другое. Если на сервере установлен ISPmanager, настроить почту через его веб-интерфейс довольно просто. Гораздо труднее разобраться с отправкой писем, если панели управления нет — настройка почты вручную требует некоторых навыков администрирования и работы в консоли. 

Если планируете использовать много ящиков и большое количество почтовых доменов, рекомендуем рассмотреть вариант установки панели на ваш сервер. Будет быстрее и удобнее. Для тех, кому этот вариант не подходит, мы подготовили инструкцию, в которой расскажем, как настроить почтовый сервер без помощи ISPmanager.

Мы будем настраивать наш почтовый сервер на базе postfix и dovecot. Проведем предварительную подготовку, создадим виртуальных пользователей и покажем два варианта настройки: в первом почтовые ящики и пароли от них будут храниться в файле, во втором — в БД.

В качестве примера используем домен mailtest.fvds.ru. Не забудьте при настройке заменить его на свой, с которого будет отправляться почта.

Важно! Если поток почтового трафика ожидается довольно большой, то мы рекомендуем выбирать сервер на виртуализации KVM и добавить его ip в белый список — для подтверждения легальности рассылок.

Настраиваем PTR:

PTR-запись связывает ip-адрес с именем хоста. Если PTR-запись указана неверно, то ваши письма будут отклоняться и не дойдут до адресата.

Изменить PTR можно двумя способами:

 
  1. Через личный кабинет: ТоварыВиртуальные серверы — выбираете ваш сервер — IP-адреса — выбираете ip — Изменить, в поле «Домен» указываете ваш почтовый домен.
  2. Через 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

Подготовительные работы завершены и мы переходим к настройке самого почтового сервера. Сделать это можно двумя способами — первый попроще. Чтобы выбрать подходящий для себя вариант, рекомендуем ознакомиться с обоими:

  1. Установка и настройка почтового сервера postfix с хранением почтовых паролей в файле 

  2. Установка и настройка почтового сервера postfix с хранением почтовых паролей в БД