【问题标题】:Configure ActionMailer to send mails using 1&1 SMTP配置 ActionMailer 以使用 1&1 SMTP 发送邮件
【发布时间】:2014-07-09 18:31:33
【问题描述】:

我正在尝试将 ActionMailer 配置为通过 1&1 使用 SMTP 服务器发送邮件。我已经阅读了instructions provided by 1&1 以及有关此主题的所有 SO 问题和答案,但我无法对其进行配置。

这是我的配置(config/environments/development.rb):

config.action_mailer.delivery_method = :smtp

config.action_mailer.smtp_settings = {
    :address => "smtp.1and1.com",
    :domain => "1and1.com",
    :port      => "25",
    :authentication => :login,
    :user_name => 'MY_EMAIL@MY_DOMAIN.COM,
    :password  => 'MY_PASSWORD'
  }

这不起作用。我未成功尝试的其他事情:

  • port 设置为587
  • authentication 设置为:plain

会发生这种情况:deliver 方法执行时,它会挂起 10 秒左右,然后在没有明显失败的情况下结束,并将其输出到日志:

Sent mail to SOME_EMAIL@SOMEDOMAIN.COM (30041.5ms)

但我没有收到邮件。顺便说一句,使用 gmail 配置它可以工作,并且日志输出是相同的。

有人成功配置了吗?

编辑 1:我再次检查了日志。我发现了这个:

[...] Net::SMTPAuthenticationError: 535 Authentication failure

编辑 2: 使用端口 25 的日志是:

[...] Timeout::Error: execution expired

编辑 3: 使用 :address => "auth.smtp.1and1.co.uk" 有效。那么这是一个 1&1 的问题吗?

【问题讨论】:

    标签: ruby-on-rails email smtp sendmail actionmailer


    【解决方案1】:

    这对我有用:

    config.action_mailer.smtp_settings = {
        :address => "smtp.1and1.com",
        :port      => 25,
        :authentication => 'plain',
        :user_name => 'MY_EMAIL@MY_DOMAIN.COM,
        :password  => 'MY_PASSWORD'
    }
    

    // SMTP CODE 535 表示用户名/密码错误。确保使用整个邮件地址作为用户名。

    【讨论】:

    • 我试过了,但对我不起作用。您的用户名是电子邮件地址吗(在 1&1 面板中创建)?密码,分配给该电子邮件地址的密码?换句话说,它们是您用于登录 using webmail 的凭据吗?
    • 请参阅我的问题的编辑 1
    • 查看编辑。你试过:plain而不是:login吗?
    • 是的,我正在使用:plain:user_name:password都可以,我用它们来登录网络邮件(完整的用户名,@domain.com)。请参阅我的编辑 2。使用端口 25 或 857 是否重要?
    • 我使用的是 25,请尝试将其输入为 Fixnum 而不是 String。也可以尝试 'plain' 而不是 :plain 就像在我编辑的帖子中一样
    【解决方案2】:
      config.action_mailer.delivery_method = :smtp
      config.action_mailer.smtp_settings = {
      address:              'auth.smtp.1and1.co.uk',
      domain:               '1and1.com',
      port:                 587,  
      authentication:       'login',
      user_name:            'email@domain.com',
      password:             'password',
      }
    

    这对我有用,并确保配置默认值

    默认来自:“email@domain.com”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-20
      • 2012-06-17
      • 2015-08-23
      • 1970-01-01
      • 1970-01-01
      • 2019-12-01
      • 2018-12-05
      • 2016-01-13
      相关资源
      最近更新 更多