用 mail_view 测试你的 Rails ActionMailer

Rails 为我们提供了 ActionMailer 可以很简单的实现邮件发送功能,但是这个东西测试起来却非常的麻烦,以前我总会这样做:

  1. 创建一个 Mailer ;
  2. 编辑邮件 HTML 模板;
  3. 在功能上面点击模拟发送邮件的过程,或是从 Rails console 直接调用 Mailer 发送测试邮件;
  4. 打开信箱查看邮件内容,格式,样式,文字是否有误;
  5. 发现有问题,回到第二步继续修改循环 N 此,直到有了正确的结果。
这个过程很麻烦,而且尤其是模拟发邮件的场景,最终导致没有耐心反复测试,而在邮件中留下了一些未测试到的 Bug,或者样式调的不够完美。
如果有个简单的方式可以帮助我们测试邮件结果就好了。

最近发现了来自 37Signals 的 mail_view 这个 Gem,正好能够满足我的这中需求。(看来苦恼的不只是我一个人啊)

mail_view 可将邮件结果以 HTML 的方式暂时,配置好以后,你可以给每个的 Mailer 定义一个 URL 如:
  • http://127.0.0.1:3000/mails/reply_mailer
  • http://127.0.0.1:3000/mails/user_mailer
访问后可以看到 action 列表,点击就可以看到结果了,就像这样:

 

mail_view 地址: https://github.com/37signals/mail_view