【问题标题】:development smtp server for windows [closed]Windows的开发smtp服务器[关闭]
【发布时间】:2010-11-24 02:49:07
【问题描述】:

我正在寻找一个免费的测试 smptp 服务器,它可以将电子邮件保存到文件中用于我的开发测试。由于我的开发环境是 windows,我更喜欢在 windows 上运行测试电子邮件服务器,但我可以考虑安装任何其他基于 linux 的替代方案。

【问题讨论】:

    标签: windows testing smtp


    【解决方案1】:

    -- 编辑:

    此建议仅在您使用 .NET 时有效

    检查this。如果您设置得当,它只会将您的电子邮件存储在磁盘上:)

    SmtpClient client = ...;
    client.PickupDirectoryLocation = @"c:\foo\emails\"; //"
    client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
    

    -- 编辑

    万一有些人不明白,这意味着您不需要另一个 SMTP 服务器来进行测试/开发,您只需适当地设置变量即可。

    -- 编辑

    为了完整起见,如下图marc_s 所示,您可以通过以下方式在配置中很好地设置它:

    <system.net>  
       <mailSettings>  
          <smtp deliveryMethod="SpecifiedPickupDirectory">  
             <specifiedPickupDirectory 
                 pickupDirectoryLocation="c:\foo\emails\" />  
          </smtp>  
       </mailSettings>  
    </system.net>
    

    【讨论】:

    • 那当然是假设OP是用C#来写他的软件的。
    • 是的。你说得对 Martin,我以为他使用的是 .NET,但现在注意到原始帖子中没有指定它。我的错误是处于“.NET”心态:)
    • 您可以在不更改应用程序配置文件中的任何代码的情况下进行配置:confguration\system.net\mailSettings\smtp 元素。
    • Thorarin:是的,'marc_s' 展示了如何,如下所示。不过,我觉得把他的答案编辑到我的里面是不对的。
    【解决方案2】:

    Python smtpd 模块有一个 DebuggingServer,它将所有消息打印到标准输出。如果你将它们重定向到一个文件,你应该完成。

    【讨论】:

    • 我已经安装了python,所以我花了几分钟寻找一个例子然后实现调试服务器。我在显示 UTF-8 编码的电子邮件时遇到了一个小问题。当我尝试通过 gmail 发送电子邮件时,UTF-8 编码的消息没有问题,但是 python 的 smtpd 模块不能正确打印非 ascii 字符。您对这个问题有什么建议吗?
    • 一般电子邮件需要使用带引号的可打印或 base64 编码进行编码,并且只能以 7 位 ASCII 编码传输(在 Google 上查找 MIME RFC)。虽然某些 SMTP 服务器扩展允许发送 8 位电子邮件,但您不应该指望它。
    • Python 中处理 MIME 消息的官方方式是 email 包。但是,这样做可能有点矫枉过正——所以我宁愿建议将所有消息写入 mbox 文件(直接附加,或通过邮箱模块),然后在 Thunderbird 中打开该模块。
    【解决方案3】:

    有几个:

    或者您也可以在您的 web.config 中进行设置,以仅将电子邮件存储在文件系统中(“silky”在代码中提出的配置方式):

    <system.net>  
       <mailSettings>  
          <smtp deliveryMethod="SpecifiedPickupDirectory">  
             <specifiedPickupDirectory 
                 pickupDirectoryLocation="c:\temp\mails\"/>  
          </smtp>  
       </mailSettings>  
    </system.net>  
    

    马克

    【讨论】:

    • antix 独立安装是我的问题的确切解决方案。这个更好,因为我遇到了不适合 UTF-8 编码消息的 python 调试服务器问题。
    • 最后一个选项对我有用,我还安装了一个 [EML Reader] (emlreader.com) 以便更好地查看。
    【解决方案4】:

    以下是我找到的链接

    根据您选择的语言和平台使用。

    还有一篇较早的 .NET 帖子 Testing SMTP with .net

    【讨论】:

      【解决方案5】:

      我知道这是一篇旧帖子,但我也知道http://smtp4dev.codeplex.com/,我也会推荐它。它位于您的任务栏上,然后在您向其发送电子邮件时弹出。然后,它允许您深入检查电子邮件。

      【讨论】:

        【解决方案6】:

        我们为此使用了Mailtrap。它为您提供远程 smtp 服务器帐户并直接访问其中的所有邮件。因此,您只需在应用程序中输入给定的 smtp 凭据,然后您的系统发送的所有电子邮件都将在 mailtrap 上可见。您可以轻松查看邮件源代码,并将其下载到本地系统。可以看例子here

        在 mailtrap 上,您可以拥有任意数量的 smtp 帐户(不同的应用程序环境或不同的应用程序的不同帐户)您还可以管理对您的帐户的访问(因此只有受信任的人会查看您的电子邮件)并且您可以转发一些电子邮件发送到真实的电子邮件地址。

        【讨论】:

          【解决方案7】:

          Papercut (http://papercut.codeplex.com/discussions) 是迄今为止最简单、最优雅的一种。侦听端口 25 并显示电子邮件的简单 exe 文件。

          【讨论】:

          • 请重新阅读问题:“我正在寻找一个免费的测试 smptp 服务器,它可以将电子邮件保存到文件中” - PaperCut 是否支持这个?
          • Papercut 是一个糟糕的工具,它无法同时处理多条消息。我建议避免它。
          • 我刚刚试用了 Papercut,您可以右键单击邮件并查看它保存的物理文件。这是我书中的好软件。
          猜你喜欢
          • 1970-01-01
          • 2011-08-14
          • 2010-11-10
          • 1970-01-01
          • 2013-01-12
          • 1970-01-01
          • 2010-10-09
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多