我正在编写一个Python脚本,用于向我的客户发送调查问卷邮件。我将在BCC字段中发送一封电子邮件,其中包含所有客户的电子邮件地址,这样我就不需要遍历所有电子邮件地址。当我测试向公司同事和个人电子邮件发送邮件时,一切正常,但是每当我发送到Gmail帐户时,BCC字段似乎没有被隐藏,并显示了所有电子邮件地址。我发现了这篇文章Email Bcc recipients not hidden using Python smtplib并尝试了那个解决方案,但由于我正在使用HTML正文电子邮件,电子邮件地址显示在正文内部。有谁能帮我解决这个问题吗?
我从代码中删除了以下行并重试。现在邮件没有发送到我的客户的Gmail邮箱。
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
def send_survey_mail():
template_path = 'template.html'
background_path = 'image.png'
button_path = 'image2.png'
try:
body = open(template_path, 'r')
msg = MIMEMultipart()
msg['Subject'] = 'Customer Survey'
msg['To'] = ', '.join(['myemail@domain.com.br', 'myemail2@domain.com'])
msg['From'] = 'mycompany@mycompany.com.br'
msg['Bcc'] = 'customer@domain.com'
text = MIMEText(body.read(), 'html')
msg.attach(text)
fp = open(background_path, 'rb')
img = MIMEImage(fp.read())
fp.close()
fp2 = open(button_path, 'rb')
img2 = MIMEImage(fp2.read())
fp2.close()
img.add_header('Content-ID', '<image1>')
msg.attach(img)
img2.add_header('Content-ID', '<image2>')
msg.attach(img2)
s = smtplib.SMTP('smtpserver')
s.sendmail('mycompany@mycompany.com.br',
['myemail@domain.com.br', 'myemail2@domain.com', 'customer@domain.com'],
msg.as_string())
s.quit()
except Exception as ex:
raise ex
send_survey_mail()
我从代码中删除了以下行并重试。现在邮件没有发送到我的客户的Gmail邮箱。
msg['Bcc'] = 'customer@gmail.com'