3

我正在測試多個用戶帳戶,並且不想設置不同的電子郵件進行測試。我需要知道的是,如果電子郵件已成功從我的應用程序發送。有沒有辦法設置一個虛假的電子郵件收件箱來檢查電子郵件是在紅寶石軌道上發送的?

有沒有辦法設置一個虛假的電子郵件收件箱來檢查是否在Ruby on Rails中發送電子郵件?

+0

你是什麼意思「從應用程序成功發送」?這裏通常有兩個階段:一個是應用程序將郵件發送到郵件服務器(sendmail,Amazon SES,gMail等),然後是郵件實際發送郵件給用戶的另一個階段。你對哪部分(或兩部分)感興趣? – 2012-02-17 18:12:27

+0

而不是建立一個工作電子郵件,我想知道是否有方法,我可以確認郵件實際發送郵件到郵件服務器。我只是希望能夠知道事情的軌道部分已經完成並且正在工作,因此我可以檢查是否在以後收到電子郵件。 – LondonGuy 2012-02-17 18:18:29

回答

9

設置MailCatcher

MailCatcher運行其捕獲發送給它在一個網絡界面,以顯示任何消息的超級簡單的SMTP服務器。運行mailcatcher,將您最喜愛的應用程序設置爲smtp://127.0.0.1:1025而不是您的默認SMTP服務器,然後查看http://127.0.0.1:1080以查看迄今已到達的郵件。

這做幾件有用的東西給你:

  • 你不僅可以看到郵件被髮送,但你可以在電子郵件(文本和HTML部分)看爲好。
  • 由於您的應用程序發送的所有電子郵件直接發送至MailCatcher,因此您不必擔心發送任何垃圾郵件。
  • 你不必擔心在任何地方設置一堆真實的電子郵件帳戶,MailCatcher不關心地址是什麼,它只是抓住電子郵件並顯示給你。

最重要的是,您的應用程序無需更改即可使用它,只需設置相應的SMTP值即可。這意味着您在開發,測試和生產過程中不會爲您的電子郵件處理運行不同的代碼路徑,這意味着更少的錯誤和深夜災難調用。

+0

完美..正是我想知道的存在與否。我明白了。謝謝 – LondonGuy 2012-02-17 18:32:13

0

在開發和測試過程中,電子郵件也顯示在控制檯上。這對我來說一直是足夠的 - 我不懷疑Rails在生產中實際發送它的能力。

相關問題