Rails 4在“测试”环境中发送电子邮件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails 4在“测试”环境中发送电子邮件相关的知识,希望对你有一定的参考价值。
每次我运行测试时,实际上都会发送电子邮件。我的config/environments/test.rb
有这种配置
config.action_mailer.delivery_method = :test
所以我认为每当我运行测试时,它们都不应该被真正发送,而是当我运行命令时
RAILS_ENV="test" rake test
电子邮件以任何方式发送。有那么一刻,我想也许我没有使用合适的环境。但后来我完全删除db/test.sqlite3
后立即再次运行测试。该文件再次恢复,这证明我实际上是在test
环境中运行。
到底是怎么回事?为什么我的测试发送真实邮件?它与我在我的应用程序上使用deliver_now
的事实有什么关系吗?
你应该至少能够通过放置来禁用它们
config.action_mailer.perform_deliveries = false
在您的环境/ test.rb中,Brent Sullivan在his answer中建议。
ActionMailer::Base.delivery_method = :smtp
中的config/environment.rb
线覆盖了ActionMailer::Base.delivery_method = :test
中的config/environments/test.rb
。
从ActionMailer::Base.delivery_method = :smtp'
删除该行config/environment.rb
并将其放入config/environments/production.rb
。这允许你把ActionMailer::Base.delivery_method = :test
放在config/environments/test.rb
和你想要的版本config/environments/development.rb
。
以上是关于Rails 4在“测试”环境中发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章
在测试 php 以在 xampp 中发送电子邮件验证时遇到问题