将电子邮件发送到来自不同域的多个地址(使用cc)

时间:2014-02-20 12:20:43

标签: python email python-2.7 smtplib

我制作了一个使用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() 

由于

1 个答案:

答案 0 :(得分:2)

更改此行

server.sendmail("me@mydomain.com", toEmails+ccEmails, msg.as_string())