我正在尝试制作一些python代码来发送电子邮件。到目前为止,我已经取得了成功,但密件抄送中心没有收到这一信息
"""
June 18, 2020
@author: Carlos
"""
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
mail = smtplib.SMTP("smtp.gmail.com", 587)
msg = MIMEMultipart()
message = input("Your message: ")
password = input("Your password: ")
msg['From'] = input("Your email: ")
msg['To'] = input("Reciever(s): ")
msg['CC'] = ", " + input("CC(s): ")
msg['BCC'] = ", " + input("BCC(s): ")
msg['Subject'] = input("Your header: ")
msg.attach(MIMEText(message, 'plain'))
mail.ehlo()
mail.starttls()
mail.login(msg['From'], password)
mail.sendmail(msg['From'], msg['To'] + msg['CC'] + msg['BCC'], msg.as_string())
mail.close()
print("Successfully sent email to %s:" % (msg['To']))
您可能不希望BCC成为消息本身的一部分(因为根据定义,它并不意味着收件人可以看到),因此最好将其存储在单独的变量中,而不是作为
MIMEMultipart
实例的元素您也不希望将前导逗号etc(您添加它只是为了帮助连接字符串)放入
msg
的元素中,因为它们将构成消息的一部分如果您这样做:
然后,您可以使用以下内容构建所有收件人的列表:
然后,您可以使用以下方式发送消息:
上面的代码假定输入字符串不包含逗号,除非作为分隔符。原则上,“To:”等标题可以包含实名部分,这些部分可以包含逗号,例如:
如果可以使用此方法,则另一种方法是列出/CC/BCC头中不为空的,并将它们连接到
","
上,这样就不必拆分任何字符串:我找到了解决我的问题的方法,它没有发送!如果有人感兴趣,这是我的代码
相关问题 更多 >
编程相关推荐