Python利用QQ邮箱自动化发送邮件指南:文本与附件

0 下载量 201 浏览量 更新于2024-08-31 收藏 331KB PDF 举报
在Python中使用QQ邮箱实现自动发送邮件是一项常见的任务,特别是在自动化工作流程或批量发送通知中。以下是如何通过Python的smtplib和email库来完成这个过程的详细指南。 首先,你需要确保已安装了这两个库,如果没有,可以通过`pip install smtplib email`命令进行安装。在使用QQ邮箱时,你需要启用POP3/SMTP服务,并获取一个用于脚本登录的授权码,这与常规登录密码不同。 1. **发送普通文本邮件** - 使用`MIMEMultipart`类创建邮件对象,设置发件人(msg_from)、接收者(to)列表、邮件主题(msg['Subject'])以及邮件内容(msg.attach(MIMEText(conntent, 'plain', 'utf-8')))。 - 连接到SMTP服务器,这里使用的是SSL加密连接(s = smtplib.SMTP_SSL("smtp.qq.com", 465)),确保安全通信。 - 使用`s.login()`方法登录邮件账户,传入授权码(s.login(msg_from, passwd))。 - 调用`s.sendmail()`函数,将邮件作为字符串发送出去(s.sendmail(msg_from, to, msg.as_string()))。 - 成功发送后,打印一条确认信息。 2. **发送携带附件的邮件** - 除了基本的文本内容外,还可以添加附件。使用`MIMEBase`和`email.mime`模块来创建附件对象(如att1 = MIMEText(open('附件路径', 'rb').read(), 'base64', 'utf-8'))。 - 将附件添加到邮件中(msg.attach(att1)),记得设置正确的MIME类型。 - 发送过程与发送纯文本邮件类似,只需在添加附件后执行相同步骤。 这些代码示例展示了如何使用Python的基本结构来构建和发送邮件,包括设置邮件的主体、添加附件、并确保安全连接。注意,为了保护隐私,实际使用时应妥善处理授权码,避免在代码中明文显示。同时,根据QQ邮箱的具体设置,可能需要调整服务器地址和端口。通过这种方式,你可以编写脚本来自动化邮件发送任务,提高工作效率。