介绍三个用于 Email 开发的开发测试工具

在网站开发过程中,开发Email是个问题。一般Email是设置一个真的SMTP服务器,把邮件发到自己邮箱后手动检查,然而这样的开发效率极其低下。如今有更好的Email开发工具了。

下面介绍Email开发工具的主要原理,就是建立一个smtp的服务器,用于劫持所有发出email,而服务器只接受email,却不转发。这样就可以在这个工具中查看所有经过smtp服务器email的所有信息了。

1. papercut

https://papercut.codeplex.com/

file

papercut 是C#编写的一个工具,在windows上运行。运行后,在后台就建立了一个SMTP的服务器。把你程序中的SMTP服务器设置成papercut的服务器后,任何发出的email都会被papercut服务器接收,然后通过papercut界面擦看所有email的信息。

优点: 可以在windows下运行

缺点: 没有web api,无法进行自动化测试

2. mailhog

https://github.com/mailhog/MailHog

file

mailhog也是一个SMTP协议的email开发工具,全平台,在github上下载相应的运行文件即可,也可以自己编译。这个是命令行的smtp服务器,是个Web service,提供WEB API,可以编写程序中Mailhog中的Email数据。所以这个工具可以编写单元测试(或者集成测试)。

原理和papercut一样,建立一个smtp服务器,然后服务器劫持所有Email,可以在MailHog 中擦看email的所有信息。

优点: 支持平台多;有WEB API可以用于集成测试

3. Mailtrap

https://mailtrap.io/
file

这个第三方网站服务器,Laracast强烈介绍,但我自己没有用过。

看了laracast的视频,功能是很强大的,有web api可以访问,这样就可以用于单元测试(或集成测试)。

由于是第三方服务,所以需要注册,使用一定限制。不过简单开发时够用了。

优点:第三方服务,平台无关;支持web api,可以集成测试

缺点: 要注册;免费有限制;收费价格高

其他推荐: mailcatcher

https://mailcatcher.me/
上面提到的mailhog就是是受到这个软件启发的,它也支持web api,但是安装麻烦,需要ruby和gem。我没有试过。有兴趣的可以试试

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 3

如果有使用 Heroku 的话,也可以通过 SendGrid 来免费发送邮件

7年前 评论

@Aufree 本文的目的是本地查看发出去email,而不是发邮件呀。

可以email的服务多了,发邮件不是讨论目的

7年前 评论
Summer

蛮有用的工具

7年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!