我正在使用Mandrill为网站上的用户建立一个反馈表(他们填写表格并发给我一封电子邮件)。
我想测试开发中的电子邮件功能。我使用unicorn作为服务器,我的本地地址是0.0.0:8080
但是我收到500服务器错误,Net :: SMTPServerBusy:Relay Access Denied
我一步一步地遵循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
我按照mandrill / heroku网页上的说明进行设置。
我的.env文件设置了MANDRILL_USERNAME和我的MANDRILL_APIKEY
这是我的ActionMailer文件:
class FeedbackMailer < ActionMailer::Base
default :from => ""
default :to => "xxx@stanford.edu"
default :subject => "feedback about xxx"
def send_feedback(message)
#debugger
@message = message
mail(:from => message[:sender_email])
end
end
任何帮助都将不胜感激。
我可以确认电子邮件是否已投入生产。
答案 0 :(得分:1)
如果您的所有设置都在生产中而非本地设置,则有几种可能性:
如何将变量从.env加载到ENV?环境变量可能未按预期在本地加载。如果您在本地硬编码凭据,它是否有效?
您可能遇到端口问题或被阻止的出站SMTP流量问题。考虑尝试端口2525,因为它可能不太可能被本地ISP阻止。启用SSL的端口465也可以工作,即使您的ISP阻止其他SMTP流量