2011-03-12 41 views
19

我想在本地測試我的註冊過程(開發模式),我如何測試電子郵件將如何發送和呈現等?ActionMailer和開發模式,它可以寫入一個文件或東西?

我並不是指單元測試或集成測試,而是在開發我的應用程序並進入註冊頁面等時。我希望它發出電子郵件,但是不使用smtp文件。

這可能嗎?

我有什麼選擇?

回答

41

這可以在config/environments/*.rb文件中配置。

# output to tmp/mails directory 
config.action_mailer.delivery_method = :file 
# ... and to specify output location 
# config.action_mailer.file_settings = { :location => Rails.root.join('tmp/mail') } 

的詳細信息可以在Action Mailer Basicsconfig sectionActionMailer::Base API


的Rails中找到4.2 :filedelivery method sourceMail::FileDelivery source

+0

+1沒有意識到該選項,並且可以自己使用它。 – Brian 2011-03-13 00:16:15

+7

不要忘記在進行配置更改後重新啓動服務器。 ;) – 2011-08-03 19:08:40

+1

在解釋文件選項方面,「更多信息」幾乎爲空。 – jcollum 2013-06-08 17:34:36

7

LetterOpener使得它更簡單,爲您預覽郵件你剛纔通過在瀏覽器中自動打開文件發送(當然在開發環境中)。

+0

不適合我的Rails 4.我希望他們的自述文件有更多的信息或指向一個教程的軌道4.似乎是一件很酷的事情,但新用戶的文檔不是很好 – cwd 2014-09-25 19:57:50

+1

它對我很好。我正在使用Rails 4. – josetapadas 2014-12-18 16:48:26

+2

適用於發送電子郵件的一次性測試,但我可能會推薦[mailcatcher](https://github.com/sj26/mailcatcher#rvm)進行長期測試 – 2015-02-04 11:35:56

0

我意識到你說你想檢查手動測試中的電子郵件,但似乎值得一提的是,這些測試可以自動化。 email_spec是我用來做它的一顆寶石。

相關問題