mandrill从本地主机发送电子邮件
问题描述:
我正在使用Mandrill为网站上的用户构建反馈表(他们填写表单并向我发送电子邮件)。mandrill从本地主机发送电子邮件
我想测试开发中的电子邮件功能。我用麒麟作为服务器和我的本地地址为0.0.0:8080
不过,我得到一个500服务器错误,净:: SMTPServerBusy:中继访问被拒绝
我跟着Heroku的指令一步一步来。
这里为m application.rb中配置:
config.action_mailer.smtp_settings = {
:address => 'smtp.mandrillapp.com',
:port => '587',
:domain => 'heroku.com',
:user_name => ENV['MANDRILL_USERNAME'],
:password => ENV['MANDRILL_APIKEY']
}
ActionMailer::Base.delivery_method = :smtp
我跟着山魈/ Heroku的网页上的说明进行设置。
我有一个设置了一个MANDRILL_USERNAME一个.ENV文件和我的MANDRILL_APIKEY
这里是我的ActionMailer文件:
class FeedbackMailer < ActionMailer::Base
default :from => ""
default :to => "[email protected]"
default :subject => "feedback about xxx"
def send_feedback(message)
#debugger
@message = message
mail(:from => message[:sender_email])
end
end
任何帮助,将不胜感激。
我可以确认在生产中发送的电子邮件。
答
如果所有的设置在生产正在努力,但没有在本地,有几个可能的原因:
你是如何加载从.ENV的变量ENV?有可能环境变量没有按照预期在本地加载。如果你在本地硬编码证书,它是否工作?
您可能会遇到端口或出站SMTP流量被阻止的问题。考虑尝试端口2525,因为它可能不太可能被本地ISP阻止。 465端口启用了SSL也可以工作,即使您的ISP阻止其他SMTP流量
+0
你的第一个答案是正确的 - 事情在生产中起作用,但不在开发中。 – Laurent 2013-04-26 18:06:09
你尝试config.action_mailer.delivery_method =:SMTP代替的ActionMailer :: Base.delivery_method =:SMTP在application.rb中? – Mattherick 2013-04-26 13:37:08