我制作了一个使用smtplib
发送电子邮件的Python脚本。
例如,我的电子邮件需要发送到 n 用户(通过To:
字段),但我还需要将此电子邮件发送到 m 其他用户,通过Cc:
字段。
显然, n + m 电子邮件地址来自不同的域名(@ mydomain,@ gmail,@ hotmail,@ whatever)。如果我将电子邮件地址放在To:
字段中,则电子邮件会正确发送到每个地址,但如果我将电子邮件放在Cc:
字段中,则不会发生同样的事情。
例如
FROM: me@mydomain.com
TO: alice@mydomain.com, bob@gmail.com, mallory@hotmail.com
CC: john@mydomain.com, robert@yahoo.com, clara@gmail.com
请注意,电子邮件是使用@mydomain.com
帐户发送的。 TO:
列表中的地址正确接收电子邮件,而仅限john@mydomain.com ,从CC:
列表中收到电子邮件..
似乎CC
字段仅适用于同域电子邮件 ...任何想法?
无论如何,这是代码:
msg = MIMEText(mailContent)
msg["Subject"] = "This is the subject"
msg["From"] = "me@mydomain.com"
toEmails = ["alice@mydomain.com", "bob@gmail.com", "mallory@hotmail.com"]
ccEmails = ["john@mydomain.com", "robert@yahoo.com", "clara@gmail.com"]
msg["To"] = ",".join(toEmails)
msg["Cc"] = ",".join(ccEmails)
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
server.login("me@mydomain.com", "password")
server.sendmail("me@mydomain.com", toEmails, msg.as_string())
server.quit()
由于
答案 0 :(得分:2)
更改此行
server.sendmail("me@mydomain.com", toEmails+ccEmails, msg.as_string())