有时在我开发时,我没有互联网连接。这会导致我的应用程序发送电子邮件时出错:
getaddrinfo: nodename nor servname provided, or not known
是否有一种简单快捷的方法可以更改配置值,使ActionMailer不会尝试实际发送电子邮件而不会抛出错误?也许是开发环境的一些东西。或者其他一些方法我可以避免抛出错误,我的代码在我调用actionmailer的地方传递?
我正在使用Rails 3.1
答案 0 :(得分:55)
通常的做法是让Rails忽略邮件错误。在config/environments/development.rb
文件中添加,取消注释或修改:
# Don't care if the mailer can't send
config.action_mailer.raise_delivery_errors = false
您也可以设置:
config.action_mailer.perform_deliveries = false
请参阅此处的文档http://edgeguides.rubyonrails.org/action_mailer_basics.html#action-mailer-configuration
您还可以将交付方式设置为:test,但我实际上没有尝试过
config.action_mailer.delivery_method = :test
答案 1 :(得分:13)
如果要在初始化rails应用程序后(在创建示例数据时,在迁移期间等)禁用邮件传递:
ActionMailer::Base.perform_deliveries = false