0

どのように機能するかについて、私はちょっと混乱していますsubprocess.Popen。subprocess モジュールと sendmail を使用して電子メールを送信するコード例があれば、それは素晴らしいことです。

4

2 に答える 2

2

これは質問に直接答えるものではありませんが、「DNS」によるコメントへの回答を考えると、問題が解決する可能性があります。

SMTP メールを送信するとき、引数として smtplib.sendmail() ルーチンに渡す「送信元」および「送信先」アドレス、受信時のメッセージ。これらの引数は、"MAIL FROM" および "RCPT TO" コマンドを使用して、受信 SMTP メーラーに渡されるパラメーターになります。これは一般にメールの「エンベロープ」と呼ばれ、値は通常 Received: ヘッダー行に表示されます。

必要なヘッダーを指定するには、メッセージの本文の前にヘッダーを指定する必要があります。smtplibの例は、それがどのように行われるかを示しています。この場合、メッセージ本文の先頭に「msg」というタプルが追加されます。

于 2009-12-21T21:03:09.473 に答える
0

私が最初に遭遇しsubprocessた落とし穴の 1 つは、デフォルトでは完全なシェル文字列コマンドを使用できないという事実でした。

次のようなシェルコマンドと同等のことをしたい場合:

os.system("echo hello world")

shell=True次のオプションを使用する必要があります。

subprocess.Popen("echo hello world", shell=True)
于 2009-12-21T20:27:50.810 に答える