将所有邮件保存到文件夹的SMTP服务器?

时间:2009-01-30 14:58:39

标签: testing smtp

是否有任何免费的SMTP服务器只接受通过它们发送的邮件,并将其保存到您的硬盘,而不将其发送给收件人。我想用它来测试我的应用程序。如果所有电子邮件都可以放在一个文件夹中,那么我可以查看它们,而不是只是等待邮件通过。我可以把一些钩子放到我的程序中,只是保存而不是发送消息,但我不认为这是一个完整的测试,如果代码遵循不同的路径。有这样的现有应用程序吗?

我认为这会非常有用,因为您可以测试邮件功能而无需等待邮件服务器提供它,以便您可以在离线时进行编码,并且无法访问实际的邮件服务器。

[编辑]

我专门使用.Net,但我没有使用.Net中的默认SMTP邮件处理类,因为它们在.Net 1.1中有多么有限。我们正在使用第三方库(chilkat)。我知道事情已经发生了变化,但是代码是稳定的并且有效,所以现在重写.Net API没有意义。

我想要的东西可以作为一个SMTP服务器,因为我可以在将来使用它来处理我工作的任何项目,无论语言是什么。

8 个答案:

答案 0 :(得分:12)

您可以在应用或web.config中使用标准的smtp设置,并指定您希望电子邮件发送到哪个文件夹。

<smtp
  deliveryMethod="specifiedPickupDirectory" 
  from="from address">
  <specifiedPickupDirectory>Your folder here</specifiedPickupDirectory>
</smtp>

这使您可以简单地存储没有smtp服务器的电子邮件

答案 1 :(得分:11)

答案 2 :(得分:4)

在Windows上,您可以使用IIS服务器的默认SMTP服务器。在其域中添加别名*(通配符)应该使其将所有转发的邮件丢弃到其drop文件夹中。

答案 3 :(得分:3)

在sendmail或postfix中相当容易 - 只需将本地传递代理配置为'cat&gt;&gt;文件”。

答案 4 :(得分:3)

这一点迟了,但你试过ssfd吗?

您可以将它放在您的计算机或网络服务器上,捕获电子邮件并将其弹出目录

答案 5 :(得分:1)

不了解这种“虚假”SMTP服务器,但在.NET中,您可以强制SmtpClient类将外发邮件保存到指定目录。

答案 6 :(得分:0)

还有python DebuggingServer以及标准库的一部分:

http://docs.python.org/library/smtpd.html#debuggingserver-objects

它将在stdout上打印所有内容。

答案 7 :(得分:-1)

我在聚会上已经很晚了,但这对我很有用。

http://emailrelay.sourceforge.net/

拥有.net电子邮件客户端只保存电子邮件而不发送 如果您的代码有效,则不回答问题。告诉它是否有效 你必须实际发送它。