2013-11-15 4 views
1

Я пишу скрипт ruby ​​для отправки электронной почты с использованием «почтового» драгоценного камня.не удалось отправить электронную почту через smtp over 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, если вы хотите, SMTP с самого начала использовать SSL, то вам необходимо использовать порт 465.

так либо из них должны исправить свои вопрос.

Удалить enable_starttls_auto и установите порт 465

или

Удалить ssl: true и полагаться на starttls обновить соединение ССЛ

+0

я решил эту проблему, просто изменив порт для 465. –

+0

, что бы сделайте это также, 'enable_starttls_auto' просто добавочно в этот момент, поскольку сервер smtp не должен предлагать, поскольку он уже зашифрован. – Doon

Смежные вопросы