Net:: "OpenTimeout" (Ausführung abgelaufen) Ausnahme auf Sidekiq
Ich bin mit sidekiq zu Warteschlange die E-Mails meiner Rails-Anwendung senden. Versenden von E-Mails arbeiten in der Entwicklung, aber in der Produktion sidekiq erhalten Sie ein Netzwerk-timeout-Fehler. Was ist Los?
Hier ist meine config in production.rb
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: 578,
domain: ENV["PPRODUCTION_DOMAIN"],
user_name: ENV["GMAIL_USERNAME"],
password: ENV["GMAIL_PASSWORD"],
authentication: :plain,
enable_starttls_auto: true
}
config.active_job.queue_adapter = :sidekiq
Ich habe versucht, die folgenden:
- Deaktivieren von IPv6-und IPv4-Einstellung als bevorzugte
- Mit einem nicht-standard-port (2525) statt 587
- Versucht, die Verbindung über
telnet smtp.gmail.com 587
. Ich bekomme die folgende Fehlermeldung:telnet: Unable to connect to remote host: Network is unreachable
. Es mag auch erwähnenswert sein, dass ich die hinter einem proxy - sollte es eine weitere Einrichtung in diesem Fall? sudo ufw allow 587
Ich bin auf einem Ubuntu 14.04 server und habe meine app mit unicorn und nginx.
Habe ich schon seit Tagen. 🙁 Jede Hilfe wäre sehr geschätzt werden!
Update:
Ich habe auch versucht, die folgenden:
- Entfernen sidekiq zum senden der E-Mail mit Schienen' mailer statt. Gleiche Ergebnisse.
- Verbindung über
telnet smtp.gmail.com 465
. Dies funktioniert so, ich habe versucht, den port in der Produktion, um 465, aber ich bekomme immer noch den gleichen Fehler. - Entfernen Sie die Domäne, mit unserer Produktion Domäne und mit
localhost:3000
. Nichts passiert.
- 1) Versuchen, zu entfernen
domain
option, aber ich glaube nicht, dass es hilft. 2) Einige Provider/Hoster blockieren der gesamte SMTP-Verkehr. Scheint, wie dies der Fall ist, weil Sie überprüfte, verwenden Sie telnet-Befehl. Versuchen Sie, Kontaktieren Sie Ihren hosting-support. - Haben Sie versucht, die
telnet 74.125.206.108 587
? Vielleicht IPv6 ist nicht wirklich deaktiviert.Ein proxy kann auf ein problem hindeuten. Vielleicht eine firewall in Ihrem Netzwerk verbietet smtp-Zugriff auf externe Server. - Ich bekomme den folgenden Fehler:
telnet: Unable to connect to remote host: Connection timed out
.cat /proc/sys/net/ipv6/conf/all/disable_ipv6
gibt mir auch eine Ausgabe von1
also ich bin sue, dass IPv6 deaktiviert ist. - Ich war in der Lage zu machen
telnet smtp.gmail.com 465
Arbeit. Also änderte ich den port inconfig/environments/production.rb
neu gestartet und die Rails-app. Ich habe auch entfernt siekiq und nur verwendet ActionMailer. Aber ich bekomme immer nochNet::OpenTimeout (execution expired)
- Vielleicht hat es zu tun mit google.com/settings/security/lesssecureapps seetings.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als pro die Rails guide Action mailer basics, die port-Nummer, die Sie geben, ist falsch. Als es 587 nicht 578.
Ich hoffe, das hilft !!
Irgendwie fixiert es, indem Sie den port
456
statt.Änderte ich den port denn aus irgendeinem Grund
telnet smtp.gmail.com 587
funktioniert nicht, abertelnet smtp.gmail.com 465
tut.587
könnte gesperrt worden sein durch das Netz.Auch, ich bin mir nicht sicher, ob die folgenden Veränderungen auch geholfen, aber ich habe auch die Authentifizierung
:login
statt:plain
und Hinzugefügtssl: true
. Hoffe das hilft jemanden, der auf das gleiche problem.