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

Posted

技术标签:

【中文标题】Mandrill 电子邮件不从本地应用程序发送【英文标题】:Mandrill email not send from local app 【发布时间】:2014-01-17 02:11:07 【问题描述】:

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

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 时,我可以从我的应用程序发送电子邮件。不知道怎么回事。

感谢您的宝贵时间。

【问题讨论】:

它在production 中有效吗? 是的,它在生产中运行良好。但不是发展。 【参考方案1】:

这不仅仅与 Ruby 有关。

关于本文档: http://logback.qos.ch/manual/appenders.html

我们可以通过一些文档找到参数“主机名”:

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

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

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

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

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

【讨论】:

以上是关于Mandrill 电子邮件不从本地应用程序发送的主要内容,如果未能解决你的问题,请参考以下文章

解析 main.js Mandrill HTML 邮件发送问题

Mandrill SMTP 超时

IOS JSON 从 Mandrill 发送电子邮件

Mandrill 无效键错误

在 iOS 7 中,如何使用 Mandrill 向我的 Parse 驱动的应用程序管理员发送一封简单的电子邮件?

在 Mandrill 中使用模板发送电子邮件