Python实现带附件的QQ邮件发送功能详解

林见深
林见深
发布时间:2026-10-14| 4人浏览过
原创

本文详细介绍如何使用Python通过SMTP协议发送QQ邮件并支持添加附件。内容涵盖在QQ邮箱开启SMTP服务、获取授权码的具体步骤,以及完整的Python代码实现。代码封装为通用函数,包含主题设置、正文编写及附件处理逻辑,适用于需要自动化邮件通知或文件传输的场景。

Python发送QQ邮件概述

本文提供了一段使用Python实现发送QQ邮件的完整代码示例,旨在帮助读者快速掌握相关技术细节,具体内容如下文所述。

该实现逻辑较为直观,主要侧重于核心功能的展示。由于其他邮箱服务商的配置流程与此类似,此处直接提供关键代码供参考。

QQ邮箱SMTP服务配置

第一步,登录QQ邮箱,进入设置界面找到“账户”选项,并确保已开启“SMTP服务”。这是通过第三方客户端或脚本发送邮件的前提条件。

开启SMTP服务后,系统会要求发送验证短信。完成短信验证后,页面将生成一个专用的授权码。请注意,此授权码用于替代邮箱登录密码进行身份验证,务必妥善保管。

以下是具体的Python实现代码。代码中已对关键配置项和注意事项添加了详细注释,方便使用者根据实际需求调整参数,例如发件人、授权码及收件人地址等。

Python代码实现与解析


# coding=utf-8
import smtplib
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
 
#写成了一个通用的函数接口,想直接用的话,把参数的注释去掉就好
def sen_email(msg_from,passwd,msg_to,text_content,file_path=None):
 #msg_from = '1095133888@qq.com' # 发送方邮箱
 #passwd = 'zjvoymwngfhigjss' # 填入发送方邮箱的授权码(就是刚刚你拿到的那个授权码)
 #msg_to = '1095133998@qq.com' # 收件人邮箱
 
 msg = MIMEMultipart()
 
 subject = "Test My Email" # 主题
 #text_content = "你好啊,你猜这是谁发的邮件"
 text = MIMEText(text_content)
 msg.attach(text)
 
 
 #docFile = 'C:/Users/main.py' 如果需要添加附件,就给定路径
 if file_path: #最开始的函数参数我默认设置了None ,想添加附件,自行更改一下就好
 docFile = file_path
 docApart = MIMEApplication(open(docFile, 'rb').read())
 docApart.add_header('Content-Disposition', 'attachment', filename=docFile)
 msg.attach(docApart)
 
 
 msg['Subject'] = subject
 msg['From'] = msg_from
 msg['To'] = msg_to
 
 try:
 s = smtplib.SMTP_SSL("smtp.qq.com", 465)
 s.login(msg_from, passwd)
 s.sendmail(msg_from, msg_to, msg.as_string())
 print "发送成功"
 except smtplib.SMTPException, e:
 print "发送失败"
 finally:
 s.quit()

以上即为利用Python发送包含附件的QQ邮件的完整解决方案。希望这段代码能为您的项目开发或自动化任务提供有效支持,欢迎进一步测试与优化。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。