使用python发送带附件的邮件给多个收件人
2019-07-16 20:43
253 查看
1.导入第三方模块,发送电子邮件要用到的模块主要有smtplib,email两个。
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.application import MIMEApplication
2.添加发件人及收件人的信息,其中password不是发件人邮箱的登录密码,而是邮箱的授权码,需要在电子邮箱开启这个功能才可以使用第三方客户端登录电子邮箱,一般在邮箱的设置里,开启后可获得授权码。
username = '11111XXXX@qq.com' password = 'xxxxxxx' sender = username #receivers接下来还要split(',')才可以发送到多个收件人 receivers = '10xxxx@qq.com,abcd1111@163.com'
3.设置邮件信息
# 如名字所示: Multipart就是多个部分 msg = MIMEMultipart() msg['Subject'] = '这是主题' msg['From'] = sender msg['To'] = receivers # 下面是文字部分,也就是纯文本,如果正文内容较多可保存在一个文本文件里,然后再读取到一个变量添加到正文内容 puretext = MIMEText('这是正文内容') msg.attach(puretext) # 下面是附件部分 ,这里xlsx类型的附件 xlsxpart = MIMEApplication(open('新建 Microsoft Excel 工作表.xlsx', 'rb').read()) xlsxpart.add_header('Content-Disposition', 'attachment', filename='测试.xlsx') msg.attach(xlsxpart)
4.登录并发送邮件
try: client = smtplib.SMTP() client.connect('smtp.qq.com',25) client.login(username, password) #receivers.split(',')才能成功发送给多个收件人 client.sendmail(sender, receivers.split(','), msg.as_string()) client.quit() print( '邮件发送成功!') except smtplib.SMTPRecipientsRefused: print( 'Recipient refused') except smtplib.SMTPAuthenticationError: print( 'Auth error') except smtplib.SMTPSenderRefused: print( 'Sender refused') except smtplib.SMTPException as e: print(e.message)
相关文章推荐
- 使用python登录邮箱并发送邮件(正文,附件)
- python使用MIMEMultipart发送多个附件的邮件
- 当使用Outlook2007发送邮件时,收件人收到名为Winmail.dat的附件
- 使用python发送带附件的邮件(转)
- 二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
- 使用python smtplib 发送带附件的邮件
- 当使用Outlook2007发送邮件时,收件人收到名为Winmail.dat的附件
- 使用Python发送带附件的邮件
- python应用系列教程——python使用smtp协议发送邮件:html文本邮件、图片邮件、文件附件邮件
- [python snippets] 邮件发送 (带附件,多收件人, 支持SMTP 和Postfix )
- 二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
- Python3使用SMTP发送带附件邮件
- 使用Python发送邮件附件以定时备份MySQL的教程
- [Python]python3使用smtplib发送邮件,带xlsx附件
- 如何使用Python发送带(附件)的邮件
- 如何使用Python发送带附件的邮件
- 使用python发送带附件的邮件
- Python使用SMTP发送邮件[HTML格式、送带附件]
- 如何使用Python发送带附件的邮件
- HP-UX下使用python发送邮件