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 

任何帮助,将不胜感激。

我可以确认在生产中发送的电子邮件。

+0

你尝试config.action_mailer.delivery_method =:SMTP代替的ActionMailer :: Base.delivery_method =:SMTP在application.rb中? – Mattherick 2013-04-26 13:37:08

如果所有的设置在生产正在努力,但没有在本地,有几个可能的原因:

  1. 你是如何加载从.ENV的变量ENV?有可能环境变量没有按照预期在本地加载。如果你在本地硬编码证书,它是否工作?

  2. 您可能会遇到端口或出站SMTP流量被阻止的问题。考虑尝试端口2525,因为它可能不太可能被本地ISP阻止。 465端口启用了SSL也可以工作,即使您的ISP阻止其他SMTP流量

+0

你的第一个答案是正确的 - 事情在生产中起作用,但不在开发中。 – Laurent 2013-04-26 18:06:09