В целях разработки мы хотим настроить почтовый сервер (постфикс), который направляет все письма, отправляемые через определенную учетную запись SMTP, на эту же учетную запись.
редактировать: Письмо больше не будет отправляться на исходный адрес.
Таким образом, мы бы создали разные учетные записи для разных проектов, и вся почта одного проекта отправлялась в один почтовый ящик.
В настоящее время мы используем это решение: Переписать получателя всех исходящих писем (кроме одного получателя)
Но как мы можем адаптировать это к различным адресам назначения на основе учетной записи SMTP AUTH?
Вот два варианта:
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
файл добавить желаемое сопоставление:
project1@domain1.com target1@domain1.com
project2@domain1.com target2@domain1.com
Затем запустите:
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
и перезапустите постфикс
Это не ответ на основе SMTP Auth но предоставляет решение, основанное на ваших потребностях.
Я использовал для этого канонические карты, я установил новый vps (centos / ubunbtu что угодно), а затем установил свои системы 'dev' на smarthost в этом поле (в сети, пример 192.168.0) Вы можете сделать то же самое с wp-smtp или другие, мы использовали Interworx, поэтому smarthost работал лучше всего.
[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
/./ webadmins@example.com
* regexp, поэтому не нужно размещать файлы.
Поскольку это среда разработки, по личному опыту я бы не советовал манипулировать вашей производственной продукцией, чтобы приспособить ее к разработке, но создавайте такие системы, чтобы соединить эти системы.
http://www.postfix.org/postconf.5.html#recipient_canonical_maps