所以我最近问了一个问题about sending mail and the error I was getting,该问题在链接中列出。我喜欢并接受的answer似乎适得其反,给我相同的结果,即使我使用了我自己的,真实的,没有拼写错误的电子邮件地址。
建议:
begin
UserMailer.registration_confirmation(@user).deliver
rescue SocketError => e
# Perhaps you want to log what happened?
@user.disable(:reason => "Registration mail unable to send: #{e.message}")
end
在用户创建操作中,而当我吐出e.message
时,好的只给了我同样的错误,在这种情况下是"getaddrinfo: nodename nor servname provided, or not known"
,我不知道这是什么,甚至怎么样解决它。
有人有任何想法吗?
答案 0 :(得分:1)
<强> SMTP 强>
似乎是relatively common issue(考虑它的内容);我猜测问题是你的UserMailer
无法:
- 连接到提供的SMTP服务器
- 您没有互联网连接
- 您对SMTP服务器详细信息的声明存在问题
我能看到的主要问题是您已经调用了初始化程序。这可能没有任何问题,但我们设置SMTP设置的方式是在application.rb
,或相关的environment
文件中:
#config/environments/development.rb
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_deliveries = true
config.action_mailer.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "domain.com",
:user_name => "testestetst@gmail.com",
:password => Rails.application.secrets.gmail,
:authentication => :plain,
:enable_starttls_auto => true
}
config.action_mailer.default_url_options = {
:host => "lvh.me:3000"
}