Mandrill电子邮件不是从本地应用程序发送

时间:2013-12-30 07:37:22

标签: ruby-on-rails email actionmailer mandrill

我已经像我这样配置了我的本地环境

config.action_mailer.smtp_settings = {
  address: "smtp.mandrillapp.com",
  port: 587,
  domain: ENV["DOMAIN_NAME"],
  authentication: "plain",
  enable_starttls_auto: true,
  user_name: "username",
  password: "api key
}

当我从我的应用发送电子邮件时,我收到此错误

Net::SMTPServerBusy in MailsController#import  401 Syntax: HELO hostname

当我将配置从mandrill更改为gmail时,我可以从我的应用发送电子邮件。我不知道什么是错的。

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

这不仅与Ruby有关。

在此文件上: http://logback.qos.ch/manual/appenders.html

我们可以通过一些文档找到一个参数“hostname”:

  

如果未正确配置SMTP客户端的主机名,   例如如果客户端主机名不是完全限定的,则为某些SMTP   服务器可能会拒绝客户端发送的HELO / EHLO命令。至   克服此问题,您可以设置localhost属性的值   到客户端主机的完全限定名称。另见   文档中的“mail.smtp.localhost”属性   com.sun.mail.smtp包。

所以根据packjage文档,如果你在Java世界,你可以使用这个选项-Dmail.smtp.localhost=someHostName

  

SMTP HELO或EHLO命令中使用的本地主机名。默认为   InetAddress.getLocalHost()。的gethostname()。通常不需要   如果您的JDK和您的名称服务配置正确,请设置。

所以我猜你的操作系统中可能有一些错误配置,你的Ruby客户端无法获得正确的Fully Qualified Domain Name

一位队友在其MacOS笔记本电脑上遇到此问题。她使用了Java选项,所以我不能告诉你更多:)