python smatplibは複数のemail連絡先を送信する実現


python下のstmpmailモジュールを使用して、メールの気楽さと定型化された送信を実現できますが、複数のユーザーに送る時には、このモジュールの理解が不十分になり、異常または情報の送信が欠落してしまう可能性があります。ここでは複数の受信者に送るために、その中の2つのピットについて説明します。
問題1:複数の受信者に送るのは成功しません。

tolist=['[email protected]', '[email protected]', '[email protected]']
msg = MIMEMultipart()
msg['from'] = fromuser
msg['subject'] = subject
msg['to'] = ','.join(tolist) //      msg['to'] = ';'.join(tolist)  
server.sendmail(msg['from'], msg['to'], msg.as_string()) 
上記の例を使って送信すると、最初の人だけがメールを受信し、後の人は受信できない場合があります。この問題は、server.sendmailが複数の受信者を受信する際に受信した情報はリストリストであり、文字列ではないからです。ここで最後の行を次のように変更すればいいです。

server.sendmail(msg['from'], 'tolist', msg.as_string())
このように、msg['to']という行のjoin文は意味がないのではないでしょうか?次に第二の問題を見ます。
問題2:全部受け取りますが、受取人の情報がありません。
まず下図を見ます

上記のmsg['to']の情報をキャンセルしたら、受取人の情報がありません。
したがって、stmpmailは複数の受信者についてこれも比較的に理解しやすいです。server.sendmailで送信された受信者はリストで、msg['to']で受信した変数値は文字列-------つまりメールに表示された受信者情報です。
この問題はstackoverflowのクイズステーションでも質問があります。Python Not Sending Email To Multiple Addressesここでは、python smatplibが複数のemail連絡先を送信して実現した文章を紹介します。これまでの記事を検索したり、下記の関連記事をご覧になったりしてください。これからもよろしくお願いします。