Mailcatcher不在登台服务器上工作

时间:2013-05-17 12:28:43

标签: ruby-on-rails email gem

我对mailtrap(http://mailtrap.io/)感到非常满意,直到我发现它变慢了。有时它不会发送电子邮件或需要很长时间。

所以考虑替代方案并转移到mailcatcher(http://mailcatcher.me/)。 问题是,它在开发环境中运行良好,但无法使其在staging环境中工作。每当我去1080端口看邮件时,路径都找不到。

BTW我正在使用mailcatcher作为我的rails应用程序。

感谢;

[更新] 我的邮件设置: config.action_mailer.smtp_settings = {:host => http://mydomain.com,:port => 1025}

当我启动mailcatcher守护程序进程时BTW。它注销

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

不是我的实际主持人,这是问题吗?

3 个答案:

答案 0 :(得分:19)

默认情况下,mailcatcher仅针对环回接口(因此为127.0.0.1地址)运行,因此只能从运行它的计算机访问它。

运行mailcatcher时,您可以使用--ip--smtp-ip--http-ip选项来控制它绑定的IP地址。

答案 1 :(得分:1)

好吧,我回到了mailtrap,现在很好。我的应用程序遇到了一些问题,因为邮件没有被发送。一切都很好。

无论如何,谢谢你们试图帮助我。

快乐编程;)

答案 2 :(得分:1)

通常我会说弗雷德里克的答案是正确的。

然而,出于某种原因,我们这不起作用。 Mailcatcher拒绝听ip-address。要解决此问题,我们只需通过Nginx代理所有流量。也可以用另一个代理完成。无论如何,这是我们的配置:

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;
  }

}

然后,您可以像这样访问您的服务器:myserver.com:3020

似乎有点黑客,但希望这会有所帮助。