我正在用smtplib
發送郵件形式的Python腳本。我擔心在我的腳本中可能會出現無法預料的錯誤,這會導致錯誤地將郵件發送給生產數據庫中的所有客戶。在發送郵件之前是否有任何方法臨時存儲郵件?另一個郵件庫可能?在用smtplib發送郵件之前隔離郵件
我還想發郵件,如果他們確定,所以只是日誌不是一個選項。
我正在用smtplib
發送郵件形式的Python腳本。我擔心在我的腳本中可能會出現無法預料的錯誤,這會導致錯誤地將郵件發送給生產數據庫中的所有客戶。在發送郵件之前是否有任何方法臨時存儲郵件?另一個郵件庫可能?在用smtplib發送郵件之前隔離郵件
我還想發郵件,如果他們確定,所以只是日誌不是一個選項。
幾點建議:
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]
如果您的軟件中有錯誤的郵件列表或錯誤,「隔離區」如何提供幫助?普通單元測試有什麼問題? –
一句話「理論上,理論和實踐沒有區別,但在實踐中存在。」生產和測試系統之間沒有預期的差別(因此未經測試)。這些錯誤將被徹底解決並進行徹底測試,但發送電子郵件是不可逆轉的。 – chiborg
什麼? 「隔離區」如何提供幫助?請解釋這個「隔離」的用例。它有什麼作用?誰使用它?誰是演員? –