我必须从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}}
我该如何纠正?
答案 0 :(得分:0)
实际上,您的配置存在一些问题。就像'from:'键一样,它不应该放在smtp_settings中。至于其他可能的问题,请参考RubyonRails.guides
希望能帮到你。