为什么是身份验证:'plain'是rails中的actionmailer的默认设置(使用gmail smtp)?

Mik*_*H-R 6 authentication gmail ruby-on-rails actionmailer

我正在阅读关于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  }
Run Code Online (Sandbox Code Playgroud)

现在从空气污染指数在这里它说:

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

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

一如既往地链接到文档/参考文献表示赞赏和鼓励:)

提前致谢.

tbe*_*nst 6

Derek Hill在这里写了一个很好的回答:邮件中的"普通"authentication_type是什么?

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

"根据这篇文章,尽管使用了关键字PLAIN,但用户名和密码不会通过Internet发送为纯文本 - 它们始终是BASE64编码的'

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