Итак, несколько раз меня ловили клиенты, получающие почту, отправленную с сервера разработки, потому что я не продезинфицировал базу данных. Итак, как дополнительный безопасный вариант, я хотел бы убедиться, что вся почта, отправляемая с моей машины разработчика, либо отклоняется в зависимости от домена, либо пересылается мне.
Я нашел несколько вопросов, которые немногое из того, что мне нужно;
Postfix на сервере разработки, разрешить отправку почты только в один домен - Выглядит хорошо, и это то, что я реализовал до сих пор, но комментарий к первому ответу правильный. Почта, отправляемая через Sendmail, похоже, не использует этот параметр.
postfix: перехватить исходящую почту и перенаправить - Это выглядело нормально, но обновление транспорта мне не помогло.
Еще смотрел переписывание адресов http://www.postfix.org/ADDRESS_REWRITING_README.html и прочтите это сообщение в блоге http://rene.bz/redirect-all-outgoing-email-single-account-postfix/
Я тестирую это, вызывая sendmail из командной строки с параметром -t следующим образом;
sendmail -t < mail
где содержимое "почты"
Date: Tue Oct 11 11:25:22 2011
To: c@example.com
Subject: test
From: whatever@somewhere.com
test
Я меняю адрес на свой адрес Gmail и адрес example.com. Я хочу, чтобы вся почта отправлялась в другой (рабочий) домен.
Пока я не видел, чтобы ограничения вступили в силу.
/ etc / postfix / transport выглядит так;
example.com :
.example.com :
* :discard
Я добавил эти строки в main.cf
smtpd_recipient_restrictions = hash:/etc/postfix/my_access, reject
transport_maps = hash:/etc/postfix/transport
Также обратите внимание, что я использую Postfix в комплекте с MAMP и редактирую main.cf через MAMP - Файл> Редактировать шаблон> main.cf
Думаю, самое простое решение, если вы хотите перехватить всю исходящую почту, вставьте в /etc/postfix/main.cf
virtual_alias_maps = static:your_local_user_name
Вам следует установить pcre и создать файл виртуального псевдонима:
apt-get install postfix-pcre
в mail.cf:
virtual_alias_maps = pcre:/etc/postfix/virtual
В / etc / postfix / virtual:
/.*@.*/ $user
Замените $ user на учетную запись вашего общего почтового ящика. Теперь каждое письмо, отправленное с этого сервера, будет попадать в общий почтовый ящик.
Устанавливать relayhost
например, на какой-то сервер, который отказывается ретранслировать - например, ваш собственный почтовый сервер. Таким образом, любая исходящая почта будет просто отклонена, а уведомление о ее доставке будет отправлено в почтовый ящик postmaster на компьютере разработчика.