6

我正在阅读有关rails的actionmailer。我的问题是关于这里描述的默认设置:

config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
  :address              => "smtp.gmail.com",
  :port                 => 587,
  :domain               => 'baci.lindsaar.net',
  :user_name            => '<username>',
  :password             => '<password>',
  :authentication       => 'plain',
  :enable_starttls_auto => true  }

现在从这里的 API 中读取它说:

":authentication - 如果您的邮件服务器需要身份验证,您需要在此处指定身份验证类型。这是一个符号,也是 :plain 之一(将以明文形式发送密码)"

所以我的问题是,这是否以明文形式发送密码?我很难相信它确实如此,但我在文档中看不到它说它对其进行加密,这与以下行有关::enable_starttls_auto => true?让我知道我的错误在哪里, enablestarttls 如何保证安全连接(如果这是加密的来源)?

一如既往地感谢和鼓励指向文档/参考的链接:)

提前致谢。

4

1 回答 1

7

Derek Hill 在这里对这个问题写了一个很好的回答:邮件中的“普通”身份验证类型是什么?

但是我在谷歌上更容易发现这个问题,所以重新发布。

“根据这篇文章‘虽然使用了关键字 PLAIN,但用户名和密码不会以纯文本形式通过 Internet 发送 - 它们始终是 BASE64 编码的’

但是,使用 PLAIN 身份验证机制的一个缺点是,如果有人监视 SMTP 通信,则可以很容易地解码用户名和密码。为了获得更高的安全性,可以使用名为 CRAM-MD5 的身份验证机制。'"

于 2014-08-02T16:05:53.993 回答