gpt4 book ai didi

ssl - Gmail smtp 主机名与服务器证书不匹配

转载 作者:太空宇宙 更新时间:2023-11-03 13:07:53 26 4
gpt4 key购买 nike

我在尝试发送邮件时遇到了 gmail gem 的错误,这在本地工作正常,在 heroku 上工作正常,但现在我将这个应用程序移动到 VPS 服务器.这是错误:

e = g.compose do
to 'test@gmail.com'
subject 'testasea'
body 'test'
end

=> #<Mail::Message:25450040, Multipart: false, Headers: <From: .......>
e.deliver!
=> OpenSSL::SSL::SSLError: hostname does not match the server certificate

我已经将其添加到初始化文件中,但没有任何运气:

ActionMailer::Base.smtp_settings = {
:enable_starttls_auto => true,
:openssl_verify_mode => 'none' # I've tested with 0 and false,

我试着猴子上课

OpenSSL::SSL::SSLSocket.class_eval do
def post_connection_check(hostname)
return true
end
end

运气不好,当我这样做时,我收到了 535 不正确的身份验证数据,但是我知道数据没问题,因为我可以做到

g.inbox.count :read

它返回正确的数字。

我想知道:

  • 我的服务器(smtp 客户端)发送的证书不正确?还是 gmail smtp 服务器接收的?
  • 为什么它在本地有效?
  • 为什么如果我猴子路径类我收到身份验证错误?
  • 有什么解决方法吗?我不在乎是否安全,只是一个帐篷应用程序。

最佳答案

这只是一个猜测,但如果您在 WHM VPS 中,则有一个限制传出 SMTP 连接的功能,您可以在调整设置中找到它。

 Restrict outgoing SMTP to root, exim, and mailman (FKA SMTP Tweak)

它会重定向所有 SMTP 连接,如果启用此功能,您将收到服务器自签名 ssl 证书,如果您使用 monkey 补丁绕过它或将配置设置为不检查 ssl 证书,您可能会发现身份验证错误,因为您实际上正在连接到本地 SMTP 服务器。

只需禁用它并再次测试。

关于ssl - Gmail smtp 主机名与服务器证书不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26551150/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com