本代码基于 Python 内置模块实现,无第三方库依赖,整体执行流程遵循邮件发送标准逻辑,步骤清晰且可复现,具体分为 6 个核心环节:
模块导入:引入smtplib模块用于邮件发送底层实现,从email相关库中导入MIMEMultipart、Header、MIMEText、MIMEImage类,分别用于构建邮件主体、处理中文头部信息、创建纯文本正文、封装图片附件,为后续操作提供基础支持。
服务器连接:通过smtplib.SMTP_SSL建立与 QQ 邮箱 SMTP 服务器的加密连接,指定服务器地址为smtp.qq.com,端口为 465,该端口为 QQ 邮箱 SMTP_SSL 协议的固定端口。
身份验证:定义邮箱登录账号mailUser与授权码mailPass,调用login()方法完成服务器身份验证,验证通过后获得邮件发送权限。
邮件主体构建:创建MIMEMultipart对象作为邮件容器,依次配置Subject(邮件主题)、From(发件人)、To(收件人)头部信息,通过Header类处理中文内容,避免编码异常导致的乱码问题。
邮件内容封装:首先通过MIMEText创建纯文本正文,指定格式为plain、编码为utf-8;再以二进制只读模式(rb)读取本地图片文件,通过MIMEImage封装为附件,设置Content-Disposition头部信息标记为附件类型并指定展示文件名,最后将正文和附件依次附加到邮件主体中。
邮件发送与结果反馈:调用sendmail()方法,传入发件人、收件人及格式化后的邮件内容,完成邮件发送操作;发送成功后,控制台打印 "发送成功" 作为执行结果反馈。