2014-10-07 78 views
1

我在使用Unicorn和Nginx的自己的服务器上托管Rails应用程序。我有一个问题,当我尝试使用发送邮件山魈,我得到以下错误:使用Mandrill smtp在Rails应用程序发送邮件

Net::SMTPServerBusy: 401 Syntax: HELO hostname 

这是我的配置上production.rb:

config.action_mailer.delivery_method = :smtp 
config.action_mailer.perform_deliveries = true 
config.action_mailer.raise_delivery_errors = true 
config.action_mailer.default charset: 'utf-8' 
config.action_mailer.smtp_settings = { 
    address: 'smtp.mandrillapp.com', 
    port: 587, 
    authentication: "plain", 
    domain: localhost, 
    enable_starttls_auto: true, 
    user_name: ENV['MANDRILL_USERNAME'], 
    password: ENV['MANDRILL_API_KEY'] 
} 

我从错误中得到的是这可能是mandrill拒绝域名,因为不是“安全/注册”??

我已经尝试将域名更改为'timewarp.us'(尚未注册),并且我遇到了同样的问题。

如果我更改madrill并使用Gmail邮件smtp它按预期工作。

这是我第一次对服务器进行部署,我有点不知所措。

任何帮助将是伟大的。谢谢!

回答

1

尝试添加您的实际域而不是localhost。我的猜测是Mandrill不接受本地主机作为主机名。

+0

我试着改变“本地主机”为“timewarp.us”,仍然得到相同的错误:/ – gustavoca 2014-10-07 19:48:57

+0

给它一个实际的user_name和密码。它可能没有选择你的ENV变量。另外,我刚刚尝试ping'timewarp.us',主机名无法解析。我猜这是你的问题。 – 2014-10-07 20:21:09

+0

想象一下,即时消息不会在我的rails应用上使用figaro,嘿嘿。我正在使用“secrets.yml”文件..我的坏。而不是使用ENV ['']来使用Rails.application.secrets。 gustavoca 2014-10-07 21:25:27