无法通过ssl通过smtp发送电子邮件

时间:2013-11-15 13:00:57

标签: ruby email ssl rubygems smtp

我正在编写一个ruby脚本,使用'mail'gem发送电子邮件。

和我本地计算机上的smtp设置:

mailer_options:
    address: smtp.gmail.com
    port: 587
    domain: gmail.com
    user_name: example@gmail.com
    password: example_password
    authentication: :login
    enable_starttls_auto: true
    ssl: true

当我尝试使用上述smtp设置发送电子邮件时,我得到以下异常:---

/opt/rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/net/smtp.rb:585:in 'connect': SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: unknown protocol (OpenSSL::SSL::SSLError)

我尝试按命令安装ssl证书

openssl s_client -connect gmail.com:443

但它没有帮助,感谢任何评论和回答。

1 个答案:

答案 0 :(得分:4)

端口587以纯文本开头,然后通过starttls“升级”到ssl,如果你想从一开始使用smtp来使用ssl,那么你需要使用端口465。

所以这些中的任何一个都应该解决您的问题。

删除enable_starttls_auto并将端口设置为465

删除ssl: true并依靠starttls升级与ssl的连接

相关问题