2013-11-15 190 views
1

我正在寫一個紅寶石腳本來使用'郵件'寶石發送電子郵件。無法通過smtp通過SSL發送電子郵件

和我的本地機器上我的SMTP設置:

mailer_options: 
    address: smtp.gmail.com 
    port: 587 
    domain: gmail.com 
    user_name: [email protected] 
    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

但它沒有幫助,感謝您的任何意見和答案。

回答

3

端口587開出純文本,然後再「升級」,以通過starttls SSL的,如果你想從一開始SMTP使用SSL,那麼你需要使用端口465

因此無論這些應該解決您的問題。

刪除enable_starttls_auto和端口設置爲465

刪除ssl: true並依靠starttls只是通過改變端口升級你的連接到SSL

+0

我解決了這個問題,以465 –

+0

那會做到這一點,'enable_starttls_auto'只是額外的,因爲smtp服務器已經加密,因此不應該提供。 – Doon

相關問題