Настройка пересылки почты в Postfix
Используемые термины: SMTP, Postfix
По получателю
По отправителю
Все исходящие
Копирование почты
Всех сообщений
Исходящая почта
Входящая почта
На другой почтовый ящик
Читайте также
По получателю на другой SMTP
У нас есть возможность в зависимости от адреса получателя или его домена пересылать входящие или исходящие сообщения на другой почтовый сервер.
Открываем на редактирование конфигурационный файл postfix:
vi /etc/postfix/main.cf
Редактируем или дописываем:
transport_maps = hash:/etc/postfix/transport_map
Если наш сервер будет перенаправлять входящие сообщения, то также необходимо указать разрешение для доменов:
relay_domains = dmosk.ru, dmosk2.ru
* в нашем примере мы разрешить нашему серверу при получении писем на домены dmosk.ru и dmosk2.ru делать пересылки.
Теперь нужно открыть на редактирование файл транспорта:
vi /etc/postfix/transport_map
И добавить:
dmosk.ru smtp:[10.10.10.10]:25
it@dmosk.ru smtp:[mail.mailsystem.ru]:25
* где:
- dmosk.ru — домен, для отправки на который используется другой сервер пересылки.
- 10.10.10.10 — IP-адрес другого сервера SMTP.
- it@dmosk.ru и mail.mailsystem.ru — конкретный адрес электронной почты и сервер для его пересылки.
После создаем карту:
postmap /etc/postfix/transport_map
И перезапускаем postfix:
systemctl restart postfix
Использование нескольких серверов SMTP
Выше мы использовали транспортную карту с синтаксисом:
... smtp:[mailserver]
... чтобы пересылать письма на другой MTA. Данная транспортная карта поддерживает более сложный синтаксис для пересылки на несколько серверов.
Вы можете указать несколько серверов через запятую в одной строке таблицы, например:
example.com smtp:[mail1.example.com],[mail2.example.com]
* в этом примере все письма, отправленные на домен example.com, будут перенаправляться на два сервера: mail1.example.com и mail2.example.com.
По отправителю на другой SMTP
В данном разделе рассмотрим пример пересылки исходящей почты через другой MTA для определенных отправителей.
Открываем на редактирование конфигурационный файл postfix:
vi /etc/postfix/main.cf
Редактируем или дописываем:
sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay
Теперь нужно открыть на редактирование файл транспорта:
vi /etc/postfix/sender_relay
И добавить:
@dmosk.ru mail.dmosk.ru
it@dmosk.ru smtp:[mail.mailsystem.ru]:25
* где:
- dmosk.ru и mail.dmosk.ru — домен отправителя и адрес сервера SMTP, куда будет перенаправлено письмо. Обратите внимание, что для домена обязательно указываем знак собаки (@).
- it@dmosk.ru и mail.mailsystem.ru — конкретный адрес электронной почты и сервер для его пересылки.
После создаем карту:
postmap /etc/postfix/sender_relay
И перезапускаем postfix:
systemctl restart postfix
Все исходящие через другой почтовый сервер
По умолчанию, postfix пытается отправить все сообщения напрямую. В данном подразделе мы настроим сервер SMTP, через который будут отправляться все сообщения.
Открываем конфигурационный файл mail.cf:
vi /etc/postfix/main.cf
Находим и редактируем relayhost:
relayhost = [smtp.mailsystem.com]
* в данном примере мы будем отправлять все сообщения через smtp.mailsystem.com, подключившись к нему по порту 25. Также можно было указать IP-адрес.
Или если хост пересылки работает по другому порту:
relayhost = [smtp.mailsystem.com]:26
* в данном примере отправка идет через хост, который слушает запросы smtp на порту 26.
Перезапускаем postfix, чтобы настройки применились:
systemctl restart postfix
Копирование входящей и исходящей почты
Мы можем копировать всю почту или отдельно входящую или исходящую.
Дублирование всей почты
Открываем конфигурационный файл mail.cf:
vi /etc/postfix/main.cf
Добавляем следующую строчку:
always_bcc = backup@domain.ru
* вся почта будет дублироваться на электронный ящик backup@domain.ru.
Перезапускаем postfix:
systemctl restart postfix
Для исходящих сообщений
Открываем конфигурационный файл:
vi /etc/postfix/main.cf
Добавляем следующее:
sender_bcc_maps = hash:/etc/postfix/sender_bcc_map
* при данной настройке все исходящие сообщения будут копироваться по правилам в файле /etc/postfix/sender_bcc_map;
Теперь открываем данный файл и вносим, примерно, следующее:
vi /etc/postfix/sender_bcc_map
user1@domain.ru backup1@domain.ru
@domain2.ru backup2@domain.ru
* в данном примере все сообщения от пользователя user1@domain.ru будут копироваться на почтовый ящик backup1@domain.ru; все письма от домена @domain2.ru будут копироваться на backup2@domain.ru.
Создаем карту:
postmap /etc/postfix/sender_bcc_map
И перезапускаем почтовый сервер:
systemctl restart postfix
Для входящих сообщений
Открываем конфигурационный файл:
vi /etc/postfix/main.cf
Добавляем следующее:
recipient_bcc_maps = hash:/etc/postfix/recipient_bcc_map
* при данной настройке все входящие сообщения будут копироваться по правилам в файле /etc/postfix/recipient_bcc_map.
Теперь открываем данный файл и вносим, примерно, следующее:
vi /etc/postfix/recipient_bcc_map
user1@domain.ru backup1@domain.ru
@domain2.ru backup2@domain.ru
* в данном примере все сообщения пользователю user1@domain.ru будут копироваться на почтовый ящик backup1@domain.ru; все письма на домен @domain2.ru будут копироваться на backup2@domain.ru.
Создаем карту:
postmap /etc/postfix/recipient_bcc_map
И перезапускаем почтовый сервер:
systemctl restart postfix
Пересылка на другой почтовый ящик
Открываем конфигурационный файл:
vi /etc/postfix/main.cf
Добавляем следующее:
virtual_alias_maps = hash:/etc/postfix/virtual
* при данной настройке все входящие сообщения будут копироваться по правилам в файле /etc/postfix/virtual.
Теперь открываем данный файл и вносим, примерно, следующее:
vi /etc/postfix/virtual
user1@domain.ru backup1@domain.ru
* при данной настройке все сообщения, отправленные на user1@domain.ru будут перенаправлены на backup1@domain.ru.
Создаем карты:
postmap /etc/postfix/virtual
И перезапускаем почтовый сервер:
systemctl restart postfix
Читайте также
Другие полезные материалы по теме: