我正在编写一个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
但它没有帮助,感谢任何评论和回答。
答案 0 :(得分:4)
端口587以纯文本开头,然后通过starttls
“升级”到ssl,如果你想从一开始使用smtp来使用ssl,那么你需要使用端口465。
所以这些中的任何一个都应该解决您的问题。
删除enable_starttls_auto
并将端口设置为465
或
删除ssl: true
并依靠starttls
升级与ssl的连接