2010-06-29 133 views
1

我有config.action_mailer.delivery_method =:測試並使用delayed_job。我運行了一些代碼,將一個電子郵件發送到一個隊列中,然後運行rake jobs:work,但是我沒有看到發送的電子郵件,ActionMailer :: Base.deliveries是零。我只是想調試和查看htese電子郵件的內容,我該怎麼做?查看發送的電子郵件

回答

2

config.action_mailer.delivery_method設置爲:test時,電子郵件實際上並未發送,而是僅添加到「發送」消息列表中。該列表僅存在於內存中。這意味着只有「發送」電子郵件的過程才能看到列表並確認它實際上是「已發送」的。

由於實際發送郵件的代碼正在外部進程中執行(通過system()或反向調用),因此您的調用腳本將無法查看該外部進程的內存隊列,從而獲得無法驗證電子郵件實際上是「發送」的。

這應該不是什麼大事,除非出現問題。默認情況下,外發電子郵件將被寫入日誌文件,因此您可以通過在那裏檢查確認他們實際上正在發送。如果您想查看/處理內存中的隊列,您必須將代碼添加到您的工作中才能這樣做,因爲這是唯一可以訪問它的代碼。