【问题标题】:SMTP server that saves all mail to a folder? [closed]将所有邮件保存到文件夹的 SMTP 服务器? [关闭]
【发布时间】:2010-10-04 11:48:57
【问题描述】:

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

我认为这将非常有用,因为您可以测试邮件功能而无需等待邮件服务器发送它,这样您就可以在离线时编写代码,并且无法访问实际的邮件服务器。

[编辑]

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

我想要一个专门用作 SMTP 服务器的东西,因为我将来可以在我从事的任何项目中使用它,无论是哪种语言。

【问题讨论】:

  • 说明您喜欢的平台会有所帮助。
  • Erm... 这显然与编程有关。
  • (但要指定平台)
  • Windows 是目前的首选平台,尽管多平台也不错。
  • 要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。

标签: testing smtp


【解决方案1】:
【解决方案2】:

我迟到了几年,但这对我很有用。

http://emailrelay.sourceforge.net/

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

【讨论】:

  • 为什么这似乎符合要求?
  • 可能是因为 sourceforge 在您的下载中加入了广告软件:howtogeek.com/218764/…
【解决方案3】:

python DebuggingServer 也是标准库的一部分:

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

它将在标准输出上打印所有内容。

【讨论】:

    【解决方案4】:

    这个有点晚了,但是你试过ssfd吗?

    你可以把它放在你的机器或网络服务器上,捕获电子邮件并将它们弹出到一个目录中

    【讨论】:

      【解决方案5】:

      在 sendmail 或 postfix 中很容易做到 - 只需将本地传递代理配置为“cat >> file”。

      【讨论】:

      • +1 Postfix 也很容易设置,并且 IIRC 带有 cygwin。
      【解决方案6】:

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

      【讨论】:

        【解决方案7】:

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

        【讨论】:

          【解决方案8】:

          您可以在您的应用程序或 web.config 中使用标准 smtp 设置,只需指定您希望电子邮件进入的文件夹。

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

          这允许您在没有 smtp 服务器的情况下简单地存储电子邮件

          【讨论】:

          • 我们的想法是让应用程序的测试尽可能接近其名义使用量。因此,除非这是在生产中使用的配置,否则最好使用 catch all smtp 服务器
          • 好主意。但是,我没有使用 .Net 邮件处理类(尽管我在 .Net 中工作),所以我认为这对我不起作用。
          • 嗨,安东尼。因为它很好且具有声明性,而且您没有测试关心实现的 SMTPClient 吗?只要您相信 .NET 框架可以正常工作,就没有关系。
          • 这似乎过时了 - 我认为正确的语法是:&lt;specifiedPickupDirectory pickupDirectoryLocation="Your folder here"/&gt;(在 .NET Framework 4.5.2 上测试)
          猜你喜欢
          • 1970-01-01
          • 2013-01-12
          • 1970-01-01
          • 2018-08-21
          • 2015-08-20
          • 2019-05-29
          • 2016-02-02
          • 2017-10-28
          • 1970-01-01
          相关资源
          最近更新 更多