1. ホーム
  2. python

[解決済み] python: TO、CC、BCCを付けてメールを送るには?

2022-06-16 03:36:10

質問

私はテスト目的で数百のメールボックスに様々なメッセージを入力する必要があり、そのためにsmtplibを使用するつもりでした。しかし、他のものの中で、私は、特定のメールボックスにメッセージを送るだけでなく、CC および BCC も同様に送ることができる必要があります。それは次のように見えません smtplib は、電子メール送信中のCCおよびBCCをサポートしていないようです。

python スクリプトから CC または BCC 送信メッセージを行う方法の提案を探しています。

(そして - いいえ、私は私のテスト環境の外の誰かにスパムを送るためにスクリプトを作成していません。)

どのように解決するのですか?

メールヘッダは、smtpサーバには関係ありません。メールを送信するときに、CC と BCC の受信者を toaddrs に追加するだけです。CCの場合は、CCヘッダーに追加してください。

toaddr = '[email protected]'
cc = ['[email protected]','[email protected]']
bcc = ['[email protected]']
fromaddr = '[email protected]'
message_subject = "disturbance in sector 7"
message_text = "Three are dead in an attack in the sewers below sector 7."
message = "From: %s\r\n" % fromaddr
        + "To: %s\r\n" % toaddr
        + "CC: %s\r\n" % ",".join(cc)
        + "Subject: %s\r\n" % message_subject
        + "\r\n" 
        + message_text
toaddrs = [toaddr] + cc + bcc
server = smtplib.SMTP('smtp.sunnydale.k12.ca.us')
server.set_debuglevel(1)
server.sendmail(fromaddr, toaddrs, message)
server.quit()