0
  • Rails 4.1.4
  • 64bit Amazon Linux 2.016,09 v2.3.1 läuft Ruby-2.3 (Puma)

ich AWS SES (https://aws.amazon.com/ses/) mit einem verwenden versuchen Rails Application Setup mit elastischem Beanstalk. Ich habe folgend in meinem production.rbAWS SNS und Ruby on Rails SMTP

... 
    config.action_mailer.smtp_settings = { 
    address: 'email-smtp.us-east-1.amazonaws.com', 
    port: 587, 
    user_name: ENV['SES_SMTP_USERNAME'], # Your SMTP user 
    password: ENV['SES_SMTP_PASSWORD'], # Your SMTP password 
    authentication: :login, 
    enable_starttls_auto: true 
    } 
    ... 

Aber wenn ich versuche, eine E-Mail ich folgende Fehlermeldung erhalten senden:

OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: unknown protocol 
from /opt/rubies/ruby-2.3.1/lib/ruby/2.3.0/net/smtp.rb:587:in `connect' 
from /opt/rubies/ruby-2.3.1/lib/ruby/2.3.0/net/smtp.rb:587:in `tlsconnect' 
from /opt/rubies/ruby-2.3.1/lib/ruby/2.3.0/net/smtp.rb:555:in `do_start' 
from /opt/rubies/ruby-2.3.1/lib/ruby/2.3.0/net/smtp.rb:521:in `start' 

Die Spur weiter, aber ich denke, dass das wichtigste Bit ist.

Ich folgte den hier aufgeführten Anweisungen: https://www.sitepoint.com/deliver-the-mail-with-amazon-ses-and-rails/

Jede Beratung am meisten geschätzt werden würde.

+0

Sind Sie sicher, dass ENV ['SES_SMTP_USERNAME'] und ENV ['SES_SMTP_PASSWORD'] für Ihre App verfügbar sind? Möglicherweise möchten Sie ihre Werte zur Überprüfung protokollieren. Diese Anweisungen bringen es in development.rb, was für eine Produktions-App nicht funktioniert. Sie möchten es aus Sicherheitsgründen wahrscheinlich nicht in production.rb setzen, aber wo Sie es platzieren müssen, hängt von Ihrem Server-Stack (Apache, Nginx, Einhorn, Passagier, Puma, usw.) ab und welche Version von Rails Sie verwenden. –

+0

Danke, ich bin sicher, dass die ENV-Variablen für die Konfigurationsdatei verfügbar sind. Ich denke, das Problem könnte der * Port * sein. Aus einigen Gründen schien 'port: 465' das Problem zu lösen. Immer noch untersuchen. – Shawnzam

Antwort

0

Es scheint, als ob das Setzen des Ports auf 465 das Problem gelöst hat.

config.action_mailer.smtp_settings = { 
    address: 'email-smtp.us-east-1.amazonaws.com', 
    port: 465, 
    user_name: ENV['SES_SMTP_USERNAME'], # Your SMTP user 
    password: ENV['SES_SMTP_PASSWORD'], # Your SMTP password 
    authentication: :login, 
    enable_starttls_auto: true 
}