【问题标题】:Rails App on AWS Elasticbeanstalk mail send fails with ESMTP No Relay Access Allowed From IPAWS Elasticbeanstalk 上的 Rails 应用程序邮件发送失败,ESMTP 不允许来自 IP 的中继访问
【发布时间】:2014-12-20 15:17:35
【问题描述】:

我有一个已部署到 AWS Elastic Beanstalk 的 rails 应用程序。该应用程序使用设计来处理用户身份验证,并设置为能够邀请用户。 我的问题是,当我尝试邀请用户时,出现以下错误:

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 配置中缺少特定于生产的设置?

【问题讨论】:

    标签: ruby-on-rails-3 amazon-web-services actionmailer amazon-elastic-beanstalk


    【解决方案1】:

    我发现这是我设置的端口值....当我将端口切换到 25 时,它可以在生产中使用。但是,为了开发,端口 25 无法正常工作。只有在端口为 80 时才能在 dev 中工作。

    所以我最终将整个 smtp 邮件设置移动到环境特定设置(来自 config/environment.rb 文件),并将生产端口设置为 25,将开发端口设置为 80,这似乎使两者环境工作。

    编辑:再次推送后,我看到了同样的问题,但我尝试的所有端口都没有解决问题。所以我最终将我所有的邮件功能都切换为通过 Amazon SES 发送,并且目前看来运行良好。

    【讨论】:

      猜你喜欢
      • 2017-05-21
      • 2013-11-26
      • 1970-01-01
      • 1970-01-01
      • 2020-06-05
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2015-10-08
      相关资源
      最近更新 更多