2011-07-26 4 views
0

メールを送信するには、smtplibのPythonスクリプトを使用します。スクリプトに予期しないバグがあると、プロダクションデータベースからすべての顧客に誤ってメールを送信することがあります。メールを送信する前に一時的に保存する方法はありますか?別のメールライブラリかもしれない?smtplibで送信する前にメールを隔離する

メールが正常に送信されたい場合でも、ロギングはオプションではありません。

+0

メーリングリストやソフトウェアのバグが間違っている場合は、どのように「検疫」が役立ちますか?通常の単体テストで何が問題になっていますか? –

+0

「理論的には、理論と実践には違いはありませんが、実際にはあります。生産システムとテストシステムの間には、予想されなかった(したがってテストされていない)いくつかの違いがあります。バグは多用され、徹底的にテストされますが、電子メールを送信することは元に戻せないものです。 – chiborg

+0

何ですか? 「隔離」はどのように役立ちますか?この「検疫」の使用例を説明してください。それは何をするためのものか?誰がそれを使用しますか?俳優は誰ですか? –

答えて

0

ヒント:

1:ローカルのPostfixサーバをセットアップし、保留中のすべての電子メールを入れて、それを構成します。次に、スクリプトを実行した後にメールキューを手動で検査します。すべてが良いことがわかると、電子メールをリリースしてください。

私は後置エキスパートではありませんので、詳細は不明です。ここにいくつかの情報を持つmanページがあります: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

関連する問題