介绍三个用于 Email 开发的开发测试工具
在网站开发过程中,开发Email是个问题。一般Email是设置一个真的SMTP服务器,把邮件发到自己邮箱后手动检查,然而这样的开发效率极其低下。如今有更好的Email开发工具了。
下面介绍Email开发工具的主要原理,就是建立一个smtp的服务器,用于劫持所有发出email,而服务器只接受email,却不转发。这样就可以在这个工具中查看所有经过smtp服务器email的所有信息了。
1. papercut
https://papercut.codeplex.com/
papercut 是C#编写的一个工具,在windows上运行。运行后,在后台就建立了一个SMTP的服务器。把你程序中的SMTP服务器设置成papercut的服务器后,任何发出的email都会被papercut服务器接收,然后通过papercut界面擦看所有email的信息。
优点: 可以在windows下运行
缺点: 没有web api,无法进行自动化测试
2. mailhog
https://github.com/mailhog/MailHog
mailhog也是一个SMTP协议的email开发工具,全平台,在github上下载相应的运行文件即可,也可以自己编译。这个是命令行的smtp服务器,是个Web service,提供WEB API,可以编写程序中Mailhog中的Email数据。所以这个工具可以编写单元测试(或者集成测试)。
原理和papercut一样,建立一个smtp服务器,然后服务器劫持所有Email,可以在MailHog 中擦看email的所有信息。
优点: 支持平台多;有WEB API可以用于集成测试
3. Mailtrap
这个第三方网站服务器,Laracast强烈介绍,但我自己没有用过。
看了laracast的视频,功能是很强大的,有web api可以访问,这样就可以用于单元测试(或集成测试)。
由于是第三方服务,所以需要注册,使用一定限制。不过简单开发时够用了。
优点:第三方服务,平台无关;支持web api,可以集成测试
缺点: 要注册;免费有限制;收费价格高
其他推荐: mailcatcher
https://mailcatcher.me/
上面提到的mailhog就是是受到这个软件启发的,它也支持web api,但是安装麻烦,需要ruby和gem。我没有试过。有兴趣的可以试试
推荐文章: