2011-03-12 43 views
19

我想在本地测试我的注册过程(开发模式),我如何测试电子邮件将如何发送和呈现等?ActionMailer和开发模式,它可以写入一个文件或东西?

我并不是指单元测试或集成测试,而是在开发我的应用程序并进入注册页面等时。我希望它发出电子邮件,但是不使用smtp文件。

这可能吗?

我有什么选择?

回答

41

这可以在config/environments/*.rb文件中配置。

# output to tmp/mails directory 
config.action_mailer.delivery_method = :file 
# ... and to specify output location 
# config.action_mailer.file_settings = { :location => Rails.root.join('tmp/mail') } 

的详细信息可以在Action Mailer Basicsconfig sectionActionMailer::Base API


的Rails中找到4.2 :filedelivery method sourceMail::FileDelivery source

+0

+1没有意识到该选项,并且可以自己使用它。 – Brian 2011-03-13 00:16:15

+7

不要忘记在进行配置更改后重新启动服务器。 ;) – 2011-08-03 19:08:40

+1

在解释文件选项方面,“更多信息”几乎为空。 – jcollum 2013-06-08 17:34:36

7

LetterOpener使得它更简单,为您预览邮件你刚才通过在浏览器中自动打开文件发送(当然在开发环境中)。

+0

不适合我的Rails 4.我希望他们的自述文件有更多的信息或指向一个教程的轨道4.似乎是一件很酷的事情,但新用户的文档不是很好 – cwd 2014-09-25 19:57:50

+1

它对我很好。我正在使用Rails 4. – josetapadas 2014-12-18 16:48:26

+2

适用于发送电子邮件的一次性测试,但我可能会推荐[mailcatcher](https://github.com/sj26/mailcatcher#rvm)进行长期测试 – 2015-02-04 11:35:56

0

我意识到你说你想检查手动测试中的电子邮件,但似乎值得一提的是,这些测试可以自动化。 email_spec是我用来做它的一颗宝石。

相关问题