2010-07-30 49 views
1

如何獲得django send_mail發送郵件的結果。我運行它本地,我send_mail到我的電子郵件,它返回True,但沒有發信(因爲我沒有任何smtp設置)。但結果是真的。如何獲得真正的結果?django send_mail得到結果

回答

3

Django使用異常來處理電子郵件發送問題。 send_mail返回的值是發送的電子郵件數量。

如果你沒有得到一個異常,也可能是一些事情之一:

  • 你必須fail_silently設置爲true(默認爲false)
  • 您使用不同的電子郵件後端(smtp是1.2+的默認設置,是早期版本的唯一選項)
  • 郵件實際上正在發送,但其他信息有誤(電子郵件服務器,錯誤的電子郵件地址,垃圾郵件文件夾,gmail自動發送的郵件隱藏等)
4

使用django-mailer。它將電子郵件放入數據庫並使用cron-jobbed管理命令將其發送出去。它可以幫助你跟蹤這個問題,改善你的應用程序響應時間,也讓你的生活更輕鬆。

+0

thnx,this intresting。 – Evg 2010-08-02 07:44:42

1

我也建議使用例外來確定電子郵件是否已發送。 如果您沒有時間或選擇設置電子郵件服務器,我會建議使用django + gmail。 U可以創建一個'假'gmail賬戶(如果你已經擁有gmail-acc,它可能被'baned'創建另一個賬戶),並使用它的SMTP作爲發送電子郵件的機會,即使你正在使用django的開發服務器localy)。 How to is here