Назад | Перейти на главную страницу

Перезаписать адрес назначения на основе аутентификации SMTP

В целях разработки мы хотим настроить почтовый сервер (постфикс), который направляет все письма, отправляемые через определенную учетную запись 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.

  1. Перенаправление на основе отправителя

В 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