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

Postfix - Как записать исходящую почту на жесткий диск (не в Интернет)?

Чтобы мои модульные тесты webb-приложений работали в моей локальной среде разработки, а именно в том, что касается доставки электронной почты, я установил postfix.

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

Я много искал, но не нашел решения, подходящего для моих нужд. Ближайшее решение, которое я могу найти, - это маршрутизация почты через настраиваемый скрипт, как указано ниже, однако это пока не помогло.

Спасибо заранее за любую помощь --

Как мне заставить Postfix доставлять ВСЮ почту в специальный скрипт?

Да, это возможно. Добавьте следующие строки в свой /etc/postfix/master.cf:

fs_mail    unix  -       n       n       -       -       pipe
   flags=F user=%YOUR_USER_NAME% argv=tee /home/%YOUR_USER_NAME%/fs_mail.dump

А затем добавьте эту строку в свой /etc/postfix/main.cf:

default_transport = fs_mail

А затем перезапустите свой сервер Postfix.

sudo /etc/init.d/postfix restart

И он должен сохранять всю исходящую почту в файл fs_mail.dump в вашей домашней папке (замените% YOUR_USER_NAME% своим настоящим именем пользователя;))

Вы можете использовать утилиту smtp -ink, которая поставляется с postfix:

smtp-раковина -u корень -d% d.% H.% M.% S 192.168.1.10:25 10

smtp -ink записывает файлы с отметкой времени.hex

Ура

P.S.

Вы довольно быстро приняли лучший ответ.

P.P.S.

Вы специально упомянули postfix, поэтому я упомянул smtp-раковину, но fakemail работает лучше IMHO, поскольку он записывает файлы как foo@example.com.N, где N - это совпадение того же адреса. http://sourceforge.net/projects/fakemail/

один из способов - перенаправить все письма на локальную учетную запись.

# main.cf

header_checks = regexp:/etc/postfix/header_checks

# / etc / postfix / header_checks

/./   REDIRECT some@local.account

Самый простой способ, IMHO, - создать локальный адрес электронной почты на вашей машине разработки, а затем настроить postfix на перенаправить все письма на этот адрес и отбросить их потом.

Взглянуть Вот для некоторых подсказок.