我有一个rails应用程序,我已经部署到AWS Elastic Beanstalk上。该应用程序使用devise来处理用户身份验证,并设置为能够邀请用户。我的问题是,当我尝试邀请用户时,我得到了以下错误:
Net::SMTPFatalError (554 secureserver.net ESMTP No Relay Access Allowed From <my_eb_assigned_ip>(我在GoDaddy上托管域名)。
在开发过程中,邮件程序功能运行良好;我的smtp设置设置为(所有环境通用):
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
:address => "smtpout.secureserver.net",
:port => 80,
:domain => "www.my_domain.com",
:authentication => :plain,
:user_name => "do-not-reply@my_domain.com",
:password => my_pass,
}在我的production.rb配置文件中:
config.action_mailer.default_url_options = { :host => 'aws_sb.elasticbeanstalk.com' }是否需要在Elasticbeanstalk中启用其他设置才能允许中继访问?或者我的rails配置中缺少特定于生产的设置?
发布于 2014-10-25 12:27:57
我计算出这是端口值,我将setting....when端口切换到25,它在生产中起作用。但是,对于开发,端口25不起作用;只有当端口为80时,它才能在dev中起作用。
因此,我最终将整个smtp邮件程序设置移动到特定于环境的设置中(从config/ environment ment.rb文件),并将生产端口设置为25,将开发端口设置为80,这似乎可以使两个环境都正常工作。
编辑:在另一次推送后,我看到了同样的问题,并且我尝试的端口都没有解决问题。因此,我最终将我所有的邮件功能切换为通过Amazon SES发送,到目前为止,这似乎运行得很好。
https://stackoverflow.com/questions/26553774
复制相似问题