我可以阻止sendmail发送电子邮件,而是将它们保存到文件?

我想在一个虚拟服务器上testing新闻邮件应用程序,但是我不想让我的数据库中的所有客户端(从实时服务器上删除)收到一封电子邮件。 有什么办法可以防止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包含我们不希望他们从testing服务器接收邮件的用户名。 规则集2中的这一附加内容将放弃所有发送给它们的电子邮件,并假设上述规则集适用于在testing机器上运行的发送邮件,而不是在生产服务器上运行。

PS:选项卡将规则左侧与右侧分开。 标签而不是空格,所以不要复制粘贴。

我们使用多个sendmail实例(每个在不同的虚拟接口上侦听)在专门的SMTP服务器上执行此操作,该服务器也运行cyrus IMAP服务器。 我们有多个实例,因为我们将有多组开发人员/testing人员尝试不同的事情。

在sendmail mc文件中…

 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文件 – 不需要安装。

http://smtp4dev.codeplex.com/

Windows 7 / Vista / XP / 2003/2010兼容的虚拟SMTP服务器。 坐在系统托盘中,不传递收到的消息。 收到的消息可以快速查看,保存,并检查源/结构。 用于testing/debugging生成电子邮件的软件。

我们用它来开发系统,效果很好。