有没有办法设置一个虚假的电子邮件收件箱,以检查电子邮件是否在轨道上的ruby中发送?

时间:2012-02-17 17:43:48

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 rubygems

我正在测试多个用户帐户,并且不想设置不同的电子邮件进行测试。我需要知道的是,该电子邮件是否已成功从我的应用程序发送。

有没有办法设置虚假的电子邮件收件箱,以检查是否正在Ruby on Rails中发送电子邮件?

2 个答案:

答案 0 :(得分:9)

设置MailCatcher

  

MailCatcher运行一个超级简单的SMTP服务器,该服务器捕获发送给它的任何消息以显示在Web界面中。运行mailcatcher,将您喜欢的应用程序设置为smtp://127.0.0.1:1025而不是默认的SMTP服务器,然后查看http://127.0.0.1:1080以查看到目前为止已到达的邮件。

这对你有几个有用的东西:

  • 您不仅可以看到正在发送电子邮件,还可以查看电子邮件(文本和HTML部分)。
  • 您不必担心向任何人发送垃圾邮件,因为您的应用程序发送的所有电子邮件都会直接发送给MailCatcher。
  • 您不必担心在任何地方设置一堆真实的电子邮件帐户,MailCatcher不关心地址是什么,它只是抓取电子邮件并显示给您。

最重要的是,您的应用程序无需更改即可使用它,您只需设置适当的SMTP值即可。这意味着您没有为开发,测试和生产中的电子邮件处理运行不同的代码路径,这意味着更少的错误和深夜灾难调用。

答案 1 :(得分:0)

在开发和测试期间,电子邮件也会显示在控制台上。对我来说这一直是足够的 - 我不怀疑rails在生产中实际发送它的能力。