Ruby on rails 配置ActionMailer以使用1&;发送邮件;1 SMTP

Ruby on rails 配置ActionMailer以使用1&;发送邮件;1 SMTP,ruby-on-rails,email,smtp,sendmail,actionmailer,Ruby On Rails,Email,Smtp,Sendmail,Actionmailer,我正在尝试将ActionMailer配置为通过1&1使用SMTP服务器发送邮件。我已经阅读了所有关于这个主题的问题和答案,但我无法配置它 这是我的配置(在config/environments/development.rb中): 这不管用。其他我尝试不成功的事情: 将端口设置为587 将身份验证设置为:普通 这就是所发生的情况:当执行deliver方法时,它会挂起10秒左右,然后在没有明显失败的情况下结束,并将其输出到日志: Sent mail to SOME_EMAIL@SOMEDOMA

我正在尝试将ActionMailer配置为通过1&1使用SMTP服务器发送邮件。我已经阅读了所有关于这个主题的问题和答案,但我无法配置它

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

这不管用。其他我尝试不成功的事情:

  • 端口设置为
    587
  • 身份验证
    设置为
    :普通

这就是所发生的情况:当执行
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问题吗?

这对我来说就是:

config.action_mailer.smtp_settings = {
    :address => "smtp.1and1.com",
    :port      => 25,
    :authentication => 'plain',
    :user_name => 'MY_EMAIL@MY_DOMAIN.COM,
    :password  => 'MY_PASSWORD'
}
//SMTP代码535表示用户名/密码不正确。确保使用整个maila地址作为用户名

  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"


我试过了,但对我不起作用。您的用户名是否为电子邮件地址(在1&1面板中创建)?密码,分配给那个电子邮件地址的密码?换句话说,它们是您在使用网络邮件登录时使用的凭据吗?请参阅我的问题的编辑1请参阅编辑。你试过用
:plain
代替
:login
吗?是的,我用的是
:plain
:用户名
:密码
都可以,我正在使用它们登录网络邮件(完整用户名,带有
@
域.com
)。见我的编辑2。使用端口25或857有关系吗?我使用的是25,请尝试将其键入
Fixnum
,而不是
String
。也可以尝试“普通”而不是像我编辑的帖子中那样:普通
  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',
  }