2013-05-17 2 views
10

Ich war ziemlich glücklich mit Mailtrap (http://mailtrap.io/), bis ich herausgefunden habe, dass es langsam wurde. Manchmal sendet es keine E-Mails oder dauert lange.Mailcatcher funktioniert nicht im Staging-Server

So gedacht, alternativ und verschoben zu Mailcatcher (http://mailcatcher.me/). Das Problem ist, es funktioniert gut in der Entwicklungsumgebung, aber kann es nicht auf Staging env arbeiten. Wann immer ich Port 1080 anrufe, um die Mail zu sehen, findet der Pfad nicht heraus.

BTW Ich benutze Mailcatcher für meine Schienen App.

Danke;

[Update] Meine Mailer Einstellung: config.action_mailer.smtp_settings = BTW {: host =>http://mydomain.com, port => 1025}

wenn ich mailcatcher Daemon-Prozess starten. Es meldet sich ab

==> smtp://127.0.0.1:1025 
==> http://127.0.0.1:1080 

Nicht mein tatsächlicher Gastgeber, ist es das Problem?

+0

Was bedeutet "nicht funktioniert"? Erhalten Sie einige Fehlermeldungen? Senden Sie E-Mails im Hintergrund mit einer Jobwarteschlange oder direkt vom Controller? – taro

+0

Tatsächlich findet den Pfad nicht. Going für mydomain.com:1080 wirft den Pfad nicht gefunden. Meine Mailer Einstellung: config.action_mailer.smtp_settings = {: host => http://mydomain.com,: port => 1025}. BTW, wenn ich den Mailcatcher-Daemon-Prozess starten. Es meldet sich ab ==> smtp: //127.0.0.1: 1025 ==> http://127.0.0.1:1080 Nicht mein tatsächlicher Gastgeber, ist es das Problem? – kxhitiz

Antwort

19

Standardmäßig läuft Mailcatcher nur gegen die Loopback-Schnittstelle (daher die Adresse 127.0.0.1), so dass nur von dem Rechner, auf dem es läuft, zugegriffen werden kann.

Sie können die Optionen --ip, --smtp-ip, --http-ip verwenden, wenn Sie den Mailcatch ausführen, um zu steuern, an welche IP-Adressen er bindet.

1

Nun, ich ging zurück zu Mailtrap, und es ist jetzt in Ordnung. Ich hatte ein Problem mit meiner App und deshalb wurde keine E-Mail gesendet. Es ist alles in Ordnung.

Wie auch immer, danke Jungs für den Versuch, mir zu helfen.

Glückliche Programmierung;)

1

Normalerweise würde ich sagen, dass die Antwort von Frederick korrekt ist.

Aber aus irgendeinem Grund für uns hat das nicht funktioniert. Mailcatcher weigerte sich, auf die IP-Adresse zu hören. Um die Problemumgehung zu umgehen, haben wir nur den gesamten Datenverkehr durch Nginx weitergeleitet. Könnte auch mit einem anderen Proxy gemacht werden. Wie auch immer, hier ist unsere config:

server { 
    listen 3020; 


    location/{ 
    proxy_pass http://127.0.0.1:1080; 
    proxy_redirect  off; 
    proxy_set_header Host    $host; 
    proxy_set_header X-Real-IP  $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    } 

} 

können Sie dann so Zugriff auf Ihre Server: myserver.com:3020

scheint ein bisschen wie ein Hack, aber ich hoffe, das hilft.