Почтовая петля на Postfix

Postfix_logo

Иногда в целях тестирования возникает необходимость произвести массовую рассылку электронной почты. Так как рассылка тестовая, то уход её за контур тестирования не допустим, в тоже время есть необходимость проверить то, что мы отправляем. Для решения данной задачи, будем использовать «Почтовую петлю». В качестве сервера выступает postfix под linux.

Сама петля делается через «virtual-regexp»

Добавляем в main.cf

virtual_alias_maps = regexp:$config_directory/virtual-regexp
mydestination = $myhostname, localhost.$mydomain, localhost, <ваш домен или домены>

Создаем /etc/postfix/virtual-regexp

/.*/ root

В данном случае, вся корреспонденция проходящая через наш сервер будет попадать к локальному пользователю «root».

Проверим:

# cd /etc/postfix/
# postmap -q test@test.test regexp:virtual-regexp
root

Если мы не хотим агрегировать почту, то можно отправить её в «/dev/null».

Напрямую слать почту /dev/null не выйдет, поэтому сделаем соотвествующий алиас:

Создаем в /etc/aliases, алиас:

devnull: /dev/null

Не забываем выполнить «newaliases»
пользователя devnull прописываем в virtual-regexp.

Выход из петли для определенного домена.

Как я уже писал выше, для некоторых доменов (пользователей) почту пересылать все-таки необходимо.
Делается это путем редактирования «virtual-regexp» и заданием «transport_maps»

Задаем в «virtual-regexp» в виде регулярки домен, список доменов или пользователя чьи данные мы будем пересылать.

/^(.*)@domain.com$/ $1@domain.com
/.*/ root

Не забываем сделать проверку.

В main.cf

virtual_alias_maps = regexp:$config_directory/virtual-regexp
transport_maps = hash:/etc/postfix/transport
mydestination = $myhostname, localhost.$mydomain, localhost, domain.com

Создаем файл /etc/postfix/transport

domain.com          smtp:mx.domain.com

Не забываем скомпилить базу:

postmap /etc/posfix/transport

Перезапускаем postfix.

В данном случае, я явно указал указал relay сервер для пересылки для «domain.com».

Вы можете оставить комментарий ниже.