Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 什么是:tls=>;Rails 5中SMTP设置中的true do?_Ruby On Rails_Ssl_Sendgrid Rails - Fatal编程技术网

Ruby on rails 什么是:tls=>;Rails 5中SMTP设置中的true do?

Ruby on rails 什么是:tls=>;Rails 5中SMTP设置中的true do?,ruby-on-rails,ssl,sendgrid-rails,Ruby On Rails,Ssl,Sendgrid Rails,我在Rails 5.2应用程序上使用Sendgrid,并获得了 Net::ReadTimeout尝试发送电子邮件时出错。这里的邮局 建议在SMTP设置中添加:tls=>true。这是可行的,但这似乎是一个古老的解决方案,我想了解它在做什么,以及为什么奏效 这是我的SMTP设置,它给出了Net::ReadTimeout错误: ActionMailer::Base.smtp_settings = { :user_name => 'username', :password => '

我在Rails 5.2应用程序上使用Sendgrid,并获得了
Net::ReadTimeout
尝试发送电子邮件时出错。这里的邮局 建议在SMTP设置中添加
:tls=>true
。这是可行的,但这似乎是一个古老的解决方案,我想了解它在做什么,以及为什么奏效

这是我的SMTP设置,它给出了
Net::ReadTimeout
错误:

ActionMailer::Base.smtp_settings = {
  :user_name => 'username',
  :password => 'password',
  :domain => 'mydomain.com',
  :address => 'smtp.sendgrid.net',
  :port => 465,
  :authentication => :plain,
  :enable_starttls_auto => true
}
这是正在运行的更新

ActionMailer::Base.smtp_settings = {
  :user_name => 'username',
  :password => 'password',
  :domain => 'mydomain.com',
  :address => 'smtp.sendgrid.net',
  :port => 465,
  :authentication => :plain,
  :enable_starttls_auto => true,
  # this line added
  :tls => true
}
电子邮件实际上是从电子邮件客户端发送到接收电子邮件服务器或从一台服务器发送到另一台服务器的明文通信。这种设计限制使得任何人都可以窃听传输中消息的内容;从机场或咖啡厅的无线热点到您的ISP和internet主干网提供商,它们将您的信息传送到世界各地

传输层安全(TLS)通过在邮件从一个安全电子邮件服务器“传输”到另一个安全电子邮件服务器时为其提供加密技术,帮助解决此问题。也就是说,TLS有助于防止电子邮件被窃听,因为电子邮件是在启用了电子邮件TLS保护的电子邮件服务器之间传输的。正如TLS可以用于保护web通信(HTTPS)一样,它可以保护电子邮件传输。在这两种应用中,TLS具有相似的优势和劣势。为了最大限度地提高内容安全性和隐私性,所有处理消息的服务器之间都需要TLS,包括内部和外部服务器之间的跃点

TLS的主要功能包括:

  • 加密邮件:TLS使用公钥基础设施(PKI)对从邮件服务器到邮件服务器的邮件进行加密。这种加密使黑客更难截获和读取消息

  • 身份验证:TLS支持使用数字证书对接收服务器进行身份验证。发送服务器的身份验证是可选的。这个过程验证接收者(或发送者)是他们所说的人,这有助于防止欺骗


TLS本身的概述不错,但在Rails-context中没有回答这个问题。它的字面意思是:ssl/:TLS-允许SMTP连接使用SMTP/TLS(SMTPS:SMTP over direct TLS connection)”。你还需要知道什么?另外,您使用了错误的端口。“对于未加密或TLS连接,请使用端口25、2525或587”
:TLS
用于隐式TLS,即
smtps
端口465。STARTTLS用于端口25和587上带有
smtp
的显式TLS。您对错误本身和它的含义有何看法?Sendgrid文档在其安装说明中不包含
:tls=>true
设置,因此我想确保我没有其他问题,我只是在修补此修复程序。