Я хочу протестировать приложение информационного бюллетеня на фиктивном сервере, но я не хочу, чтобы все клиенты в моей БД (сброшенные с живого сервера) получали электронное письмо. Есть ли способ запретить sendmail действительно отправлять эти письма и вместо этого сохранять их в файл или что-то подобное?
Вы можете сделать что-то вроде этого:
LOCAL_CONFIG
# File that contains recipients usernames that interest us in this test
F{Users} -o /etc/mail/users-to-test
# File that contains recipients domains that interest us in this test
F{Domains} -o /etc/mail/domains-to-test
LOCAL_RULE_2
R $={Users} < @ $={Domains} . > $#discard $: discard
/ etc / mail / users-to-test содержит имена пользователей, которые мы не хотим, чтобы они получали электронную почту с тестового сервера. Это дополнение к набору правил 2 отбрасывает всю направляемую им электронную почту, и предполагается, что вышеуказанный набор правил применяется к sendmail, работающему на вашем тестовом компьютере, а не на производственном сервере.
PS: вкладки отделяют левую от правой части правил. табуляции, а не пробелы, поэтому не копируйте и не вставляйте.
Мы делаем это, используя несколько экземпляров sendmail (каждый из которых прослушивает свой виртуальный интерфейс) на выделенном SMTP-сервере, на котором также работает cyrus IMAP-сервер. У нас есть несколько экземпляров, потому что у нас будет несколько наборов разработчиков / тестеров, пробующих разные вещи.
В mc-файле sendmail ...
FEATURE(`mailertable', `hash -o /etc/mail/mroute2-mailertable.db')dnl
В файле mailertable (поля разделены табуляцией, важен порядок строк) ...
mailtest.ncl.ac.uk smtp:mailtest.ncl.ac.uk
. local:paul
В этом примере сообщения для пользователей в домене mailtest.ncl.ac.uk доставляются нормально, а все остальное доставляется в локальный почтовый ящик Пола. Если вы хотите, чтобы все сообщения хранились в локальном почтовом ящике, тогда всего одна строка формы
. local:paul
должен это сделать.
Если у вас есть Windows, есть простой файл .EXE, который вы можете запустить - установка не требуется.
Совместимый с Windows 7 / Vista / XP / 2003/2010 фиктивный SMTP-сервер. Сидит в системном трее и не доставляет полученные сообщения. Полученные сообщения можно быстро просмотреть, сохранить и проверить источник / структуру. Полезно для тестирования / отладки программного обеспечения, генерирующего электронную почту.
Мы используем его в наших системах разработки, и он отлично работает.