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 邮件发送问题