Настройка postfix для приема и пересылки почты на заданные адреса

Для правильного функционирования почтового сервера необходимо внести MX запись в DNS зону для доменного имени сервера, например:

mydomain.ru.	3600	MX	mydomain.ru.	10

Обновление зоны может занять какое-то время, проверить можно командой:

$ dig mydomain.ru mx
<....>
;; ANSWER SECTION:
mydomain.ru.		3600	IN	MX	10 mydomain.ru.
<....>

Также, очень полезно сделать reverse-DNS запись для IP адреса сервера, это позволит почтовым системам больше доверять письмам, отправленным с вашего сервера, иначе они могут попадать в спам. Обычно эта настройка доступна из панели управления хостингом/виртуальным сервером.

Дальше, необходимо установить службу postfix, для Ubuntu/Debian сделать это можно командой:

sudo apt update
sudo apt install postfix

В процессе установки выбрать вариант Internet Site и ввести доменное имя, прявязанное к серверу.

Основные настройки почтового сервера находятся в файле /etc/postfix/main.cf, настройки для приема почты на своем домене:

# сервер smtp сделаем доступным только для отправки почты по 
# локальным адресам для защиты от отправки спама
smtpd_relay_restrictions = permit_mynetworks reject_unauth_destination

# необходимо заменить на имя вашего домена
myhostname = mydomain.ru
mydomain = mydomain.ru

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = $myhostname, localhost.localdomain, localhost
relayhost = 
mynetworks = 127.0.0.0/8 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
myorigin = /etc/mailname
compatibility_level = 2

# необходимо заменить на имя вашего домена
virtual_alias_domains = mydomain.ru
virtual_alias_maps = hash:/etc/postfix/virtual

Создадим файл с alias-ами:

sudo nano /etc/postfix/virtual

Примеры содержимого файла:

# пересылаем с двух локальных адресов
contact@mydomain.ru myself@gmail.com
sales@mydomain.ru myself@gmail.com
# пересылаем на несколько ящиков
contact@mydomain.ru myself@gmail.com mystaff@gmail.com
# пересылаем со всех локальных ящиков
@mydomain.ru myself@gmail.com mystaff@gmail.com

Далее, необходимо подгрузить alias-ы командой:

postmap /etc/postfix/virtual

И перезапустить сервис postfix:

sudo systemctl restart postfix

Все, теперь все письма, приходящие на адреса @mydomain.ru будут пересылаться на соответствующие внешние почтовые ящики.

Comments powered by Disqus