2013-02-01 22 views
1

我有一個AppEngine Python/Django應用程序,它在註冊時發送確認電子郵件。我沒有在本地設置SMTP服務器,而且我也沒有任何計劃設置本地服務器。Appengine開發服務器sendmail錯誤 - 想要禁止

因爲我本地沒有SMTP服務器設置,所以當我在開發服務器上註冊新用戶時,程序會生成以下錯誤:「SMTPServerDisconnected:請首先運行connect()」。

根據AppEngine文檔:https://developers.google.com/appengine/docs/python/tools/devserver Quote:「如果郵件未啓用SMTP或Sendmail,則嘗試從應用程序發送電子郵件將不會執行任何操作,並且在應用程序中顯示成功。

我該如何(1)在開發服務器上的郵件失敗時抑制這些錯誤消息,或者(2)阻止服務器嘗試發送電子郵件?文檔是否正確?

由於我的應用程序發送來自任務隊列的電子郵件,此失敗會導致重試,從而產生大量錯誤消息,這使我很難在日誌中看到相關信息。

回答

2

該文檔是正確的,但它們指的是App Engine mail API。根據你的錯誤信息,它看起來像你正在使用smtplib(可能通過一個Django模塊),它試圖直接連接到SMTP服務器。你可以做的最好的可能是detect when running on the dev server,並捕捉你所看到的例外。

+0

謝謝。想想看,當我從AppEngine Helper升級到Django-Nonrel時,我可能開始看到這個錯誤。感謝您指點正確的方向。 –

相關問題