用 mail_view 测试你的 Rails ActionMailer
Rails 为我们提供了 ActionMailer 可以很简单的实现邮件发送功能,但是这个东西测试起来却非常的麻烦,以前我总会这样做:
- 创建一个 Mailer;
- 编辑邮件 HTML 模板;
- 在功能上面点击模拟发送邮件的过程,或是从 Rails console 直接调用 Mailer 发送测试邮件;
- 打开信箱查看邮件内容,格式,样式,文字是否有误;
- 发现有问题,回到第二步继续修改循环 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