Как я могу настроить sendmail (или другой почтовый сервер) на прием исходящей почты, но не отправлять ее?

Можно ли настроить sendmail так, чтобы он принимал всю исходящую почту, но не отправлял ее? Либо он может просто записать их в журнал для чтения позже, либо еще лучше, если он может быть настроен на отправку ВСЕХ исходящих писем предварительно настроенному получателю (независимо от того, что указано в письме).

Мы работаем над разработкой приложений для электронной коммерции. Наши среды разработки - Ubuntu Desktop (11.10).

Мы запускаем полный стек приложений локально на каждом рабочем столе - веб-сервер, сервер приложений, база данных и т. Д.

Наше приложение отправляет электронную почту, когда происходят определенные события.

На самом деле мы не хотим, чтобы электронное письмо отправлялось предполагаемому получателю, поскольку оно не из производственной среды.

Мы бы хотели, чтобы приложение считало, что отправка электронной почты прошла успешно.

Мы хотели бы видеть электронное письмо постфактум, которое будет отправлено.

Обратите внимание, мы находимся на Ubuntu. Если не sendmail, то может быть какой-нибудь другой почтовый сервер?

2 ответа

Вы можете сделать это в sendmail, изменив набор правил 0. Отредактируйте ваш /etc/mail/sendmail.mc, чтобы включить (внизу):

LOCAL_RULE_0 
R$* < @ $=w . > $*       $#local $: $1
R$* < @ $* . > $*        $#local $: user

Набор правил 0 выбирает агента доставки для каждого получателя. Первая строка проверяет, является ли получатель локальным пользователем. Если получатель является локальным пользователем, то правая часть адреса электронной почты включена в класс $=w, тогда получатель считается локальным, и проверки прекращаются. Если оно не включено, то почта доставляется локальному пользователю (вы можете изменить его на любого пользователя системы, который вам нравится).

Если вы хотите отказаться, а не доставлять пользователю, измените вторую строку на:

R$* < @ $* . > $*        $#local $: bit-bucket

Где bit-bucket - это псевдоним, определенный в /etc/mail/aliases:

bit-bucket: /dev/null

Не забывай бегать newaliases после редактирования файла /etc/mail/aliases. Примечание: вы не можете использовать $#discard в наборе правил 0.

Не копируйте и не вставляйте приведенный выше фрагмент кода. Левая и правая части правил разделены символами табуляции, а не пробелами. Так что лучше напиши это в себе.

После редактирования sendmail.mc вы должны создать sendmail.cf и затем перезапустить демон sendmail. В системах Debian это делается путем запуска sendmailconfig,

Если "предполагаемые получатели" имеют исчисляемое количество, используйте псевдонимы или virtusertable для перехвата сообщений и локальной доставки

Другие вопросы по тегам