- 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.rb
AWS 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.
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. –
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