2009-08-30 50 views
36

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

回答

35

有几个:

或者,你还可以设置它在你的web.config只存储在文件系统中的电子邮件(配置方式是什么“丝绸般”已在代码中提出):

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

马克

+0

antix独立安装是我的问题的确切解决方案。这一个更好,因为我有python调试服务器的问题,它不适合UTF-8编码的消息。 – Tolga 2009-08-30 14:17:01

+0

最后一个选项适用于我,我进一步安装了[EML Reader](http://www.emlreader.com/)以便更好地查看。 – 2015-05-20 14:15:56

11

- 编辑:

这个建议只有有效的,如果你使用.NET

检查this出来。如果适当地设置它,它只会在磁盘上存储:)

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

您的电子邮件 - 编辑

万一有些人不明白这一点,这意味着你不需要再SMTP服务器用于测试/ dev,您只需设置适当的变量。

- 编辑

为了完整起见,如marc_s如下所示,您可以在CONFIGS很好地通过设置这样的:

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

当然假设OP使用C#编写他的软件。 – 2009-08-30 08:50:48

+1

是的。你提出一个公正的观点Martin,我认为他使用.NET,但现在注意到它没有在原始文章中指定。我处于'.NET'状态的错误:) – 2009-08-30 08:52:43

+0

您可以在不更改应用程序配置文件中的任何代码的情况下对此进行配置:'confguration \ system.net \ mailSettings \ smtp'元素。 – Thorarin 2009-08-30 09:12:40

5

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

+0

我已经安装了python,所以我花了几分钟的时间来寻找一个例子,然后实现调试服务器。 我有一个显示UTF-8编码电子邮件的小问题。当我尝试通过gmail发送电子邮件时,UTF-8编码消息没有问题,但python的smtpd模块不能正确打印非ascii字符。你对这个问题有什么建议吗? – Tolga 2009-08-30 09:27:54

+0

一般来说,电子邮件需要使用quoted-printable或base64编码进行编码,并且只能使用7位ASCII编码进行传输(请在Google上查找MIME RFC)。虽然有些SMTP服务器扩展允许发送8位电子邮件,但这不是您应该指望的。 – 2009-08-30 11:37:05

+0

Python中处理MIME消息的官方方式是电子邮件包。但是,这样做可能有点过大 - 所以我宁愿推荐将所有消息写入mbox文件(通过直接附加它或通过邮箱模块),然后在Thunderbird中打开模块。 – 2009-08-30 12:07:21

23

我知道这是旧的文章,但是我也知道这http://smtp4dev.codeplex.com/我也建议先前的帖子。它坐在你的任务栏上,然后在你发送邮件时弹出。它允许您在相当深的一段时间内检查电子邮件。

5

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

在mailtrap你想要的(对于不同的应用环境,或不同的应用程序不同的帐户),你可以有很多的SMTP帐户,您还可以管理访问您的帐户(因此,只有受信任的人会本身你的电子邮件),你可以转发一些电子邮件到真实的电子邮件地址。

2

Papercut(http://papercut.codeplex.com/discussions)是目前为止最简单最优雅的一款。简单的exe文件,监听端口25并显示电子邮件。

+0

请重新阅读以下问题:“我正在寻找一个免费的测试smptp服务器,它可以将电子邮件保存到文件**” - PaperCut是否支持此功能? – Kev 2013-04-01 23:30:08

+0

Papercut是一个可怕的工具,它无法同时处理多个邮件。我建议避免它。 – 2014-06-17 19:18:01

+0

我刚刚试过Papercut,你可以右键单击邮件并查看它保存的物理文件。这是我书中的好软件。 – TheLegendaryCopyCoder 2016-02-20 18:54:24