没有身份验证的AactionMailer配置

时间:2015-01-06 08:42:10

标签: ruby-on-rails actionmailer

我必须从Rails应用程序发送电子邮件,并尝试使用ActionMailer。邮件管理员为了不需要身份验证的目的创建了一个新帐户;我可以使用msmtp中的~/.msmtprc配置,使用account myapp auth off host mailserver.domain port 25 from myapp@domain user myapp@domain password 这个新帐户发送消息

development.rb

config.action_mailer.raise_delivery_errors = false config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { address: 'mailserver.domain', from: 'myapp@domain', port: 25, domain: 'domain', authentication: 'off', user_name: 'myapp@domain', password: '', enable_starttls_auto: false } config.action_mailer.perform_deliveries = true 文件中,我介绍了类似的配置:

   (0.7ms)  ROLLBACK
Completed 500 Internal Server Error in 387ms

Errno::ECONNREFUSED (Connection refused - connect(2)):
  app/models/user.rb:28:in `send_admin_mail'
  app/controllers/registrations_controller.rb:15:in `create'

但是无论何时调用邮件方法,我都会遇到以下异常:

development.rb

我认为ActionMailer::Base.smtp_settings文件中存在错误或缺失的内容,但我不知道它可能是什么。任何帮助表示赞赏。

更新:关注eugen's suggestion below我发现在执行时address不包含正确的设置;特别是,localhost指向=> "{:address=>\"localhost\", :port=>25, :domain=>\"localhost.localdomain\", :user_name=>nil, :password=>nil, :authentication=>nil, :enable_starttls_auto=>true}" 而不是指向邮件服务器:

{{1}}

我该如何纠正?

1 个答案:

答案 0 :(得分:0)

实际上,您的配置存在一些问题。就像'from:'键一样,它不应该放在smtp_settings中。至于其他可能的问题,请参考RubyonRails.guides

希望能帮到你。