В целях разработки мы хотим настроить почтовый сервер (postfix), который будет направлять все письма, отправляемые через определенную учетную запись SMTP, на эту же учетную запись.
редактировать: Почта больше не будет отправляться на исходный адрес.
Поэтому мы создаем разные учетные записи для разных проектов, и вся почта одного проекта отправляется в один почтовый ящик.
В настоящее время мы используем следующее решение:Переписать получателя всех (кроме одного получателя) исходящих сообщений электронной почты
Но как мы можем адаптировать это к разным адресам назначения на основе учетной записи SMTP AUTH?
решение1
Вот два варианта:
1. использовать sender_bcc_maps
опцию в Postfix.
sender_bcc_maps (по умолчанию: пусто)
Необязательные таблицы поиска адресов BCC (скрытая копия), индексированные по адресу отправителя. Адрес BCC (несколько результатов не поддерживаются) добавляется, когда почта поступает извне Postfix.
Вам необходимо добавить следующее /etc/postfix/my.cnf
:
sender_bcc_maps = hash:/etc/postfix/bcc_maps
И в /etc/postfix/bcc_maps
файле добавьте нужное сопоставление:
[email protected] [email protected]
[email protected] [email protected]
Затем выполните:
postmap /etc/postfix/bcc_maps
И перезапустите Postfix.
- Перенаправление на основе отправителя
В main.cf:
smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender_access
и в файле sender_access:
from_address@domain redirect new_to_address@anotherdomain.
Затем postmap /etc/postfix/sender_access
перезапустите постфикс
решение2
Это не ответна основе SMTP-аутентификациино предоставляет решение, основанное на ваших потребностях.
Для этого я использовал канонические карты, установил новый vps (centos/ubunbtu и т. д.), а затем настроил свои системы «dev» на смарт-хостинг этого ящика (внутри сети, например, 192.168.0). Вы можете сделать то же самое с помощью wp-smtp или других, мы использовали interworx, поэтому смарт-хост работал лучше всего.
[root@mx ~]# cat /etc/postfix/main.conf
recipient_canonical_classes = envelope_recipient
recipient_canonical_maps = regexp:/etc/postfix/recipient_canonical_map
mynetworks = 192.168.0.0/24
header_checks = regexp:/etc/postfix/header_checks
relayhost = mailserver.example.com
[root@mx ~]# cat /etc/postfix/header_check
/^Subject: (.*?)$/ REPLACE Subject: [Dev] $1
[root@mx ~]# cat /etc/postfix/recipient_canonical_map
/./ [email protected]
*regexp, поэтому нет необходимости выполнять пост-отображение файлов.
Поскольку это среда разработки, исходя из личного опыта, я бы не советовал манипулировать вашим производством для приспособления к разработке, а создавать такие системы, чтобы объединить эти системы.
http://www.postfix.org/postconf.5.html#recipient_canonical_maps