我想知道有谁能在这方面提供帮助。
我有这个python代码,可以发送电子邮件。
import smtplib
import string
import sys
import os
fromaddr = 'first-email@gmail.com'
toaddr = 'second-email@gmail.com'
cc = []
bcc = ['third-email@gmail.com', 'forth-email@gmail.com']
subject = 'This is a test email'
msg = string.join((
'From: %s' % fromaddr,
'To: %s' % toaddr,
'CC: %s' % ', '.join(cc),
'BCC: %s' % ', '.join(bcc),
'Subject: %s' % subject, '',
'hello world'
), '\r\n')
print msg
toaddrs = [toaddr] + cc + bcc
print toaddrs
server = smtplib.SMTP('smtp.googlemail.com',587)
server.starttls()
server.login('my_gmail_account','my_gmail_password')
server.sendmail(fromaddr,toaddrs,msg)
server.quit()我遇到的问题是,对于那些密件抄送的人,他们可以看到密件抄送名单中的人。
例如,
From : first-email@gmail.com
To : second-email@gmail.com
Bcc : third-email@gmail.com,forth-email@gmail.com格式不正确。
我期望结果应该是这样的。
a.针对第二个-email@gmail.com用户
这个人应该会看到这个
From : first-email@gmail.com
To : second-email@gmail.com
Bcc : this is hiddenb.针对第三方-email@gmail.com用户
这个人应该会看到这个
From : first-email@gmail.com
To : second-email@gmail.com
Bcc : third-email@gmail.comc.针对forth-email@gmail.com用户
这个人应该会看到这个
From : first-email@gmail.com
To : second-email@gmail.com
Bcc : forth-email@gmail.com有什么方法可以增强我的python smtplib代码来实现上述功能吗?
提前谢谢。
发布于 2015-08-30 02:48:41
删除密件抄送邮件头,但将密件抄送收件人保留在toaddrs中。密件抄送收件人都将收到电子邮件,但电子邮件客户端不会将他们显示为收件人。
发布于 2017-07-29 04:45:55
python的smtplib模块中的sendmail方法不支持关于密件抄送标头的RFC822。相反,它只是解析一堆文本,并将所有文本发送给to、cc和bcc中的每个人,包括密件抄送。如果可以升级到python3,Python3的smtplib包含一个方法send_message,它可以正确地处理bcc头文件。
https://stackoverflow.com/questions/31065998
复制相似问题