2011-07-26 42 views
0

我正在用smtplib發送郵件形式的Python腳本。我擔心在我的腳本中可能會出現無法預料的錯誤,這會導致錯誤地將郵件發送給生產數據庫中的所有客戶。在發送郵件之前是否有任何方法臨時存儲郵件?另一個郵件庫可能?在用smtplib發送郵件之前隔離郵件

我還想發郵件,如果他們確定,所以只是日誌不是一個選項。

+0

如果您的軟件中有錯誤的郵件列表或錯誤,「隔離區」如何提供幫助?普通單元測試有什麼問題? –

+0

一句話「理論上,理論和實踐沒有區別,但在實踐中存在。」生產和測試系統之間沒有預期的差別(因此未經測試)。這些錯誤將被徹底解決並進行徹底測試,但發送電子郵件是不可逆轉的。 – chiborg

+0

什麼? 「隔離區」如何提供幫助?請解釋這個「隔離」的用例。它有什麼作用?誰使用它?誰是演員? –

回答

0

幾點建議:

1:設置本地後綴服務器,並配置它把所有的電子郵件擱置。然後在運行腳本後手動檢查郵件隊列。當你看到一切都很好時,發佈電子郵件。

我不是postfix的專家,所以我不確定細節。這是一個包含一些信息的手冊頁面:http://www.postfix.org/access.5.html(查找HOLD操作)。

2:使用命令行選項來你的腳本:

def sendmail(args, recipient): 
    if args.dryrun: 
     print "Would send to " + recipient 
    else: 
     print "Sending to " + recipient 
     smtp.sendmail(...) 

$ send_emails.py --dryrun 
Would send to [email protected] 
... 
Would send to [email protected] 

$ send_emails.py 
Sending to [email protected] 
Sending to [email protected] 
+0

我有類似選項2的地方,但是在這個對現場數據進行操作並且真的想發送郵件的分段環境中,這還不夠。 – chiborg

+0

在這種情況下,我會提出建議1。 – codeape

相關問題