python发送邮件带附件

1、代码如下:

复制代码
import smtplib
from email.header import Header
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from urllib.parse import quote

# 创建邮件主体对象
email = MIMEMultipart()
# 设置发件人、收件人和主题
email['From'] = 'southpoet@163.com'
email['To'] = '563233615@qq.com'
email['Subject'] = Header('请查收离职证明文件', 'utf-8')
# 添加邮件正文内容(带HTML标签排版的内容)
content = """<p>亲爱的前同事:</p>
<p>你需要的离职证明在附件中,请查收!</p>
<br>
<p>祝,好!</p>
<hr>
<p>孙美丽 即日</p>"""
email.attach(MIMEText(content, 'html', 'utf-8'))
# 读取作为附件的文件
with open(f'resources/王大锤离职证明.docx', 'rb') as file:
    attachment = MIMEText(file.read(), 'base64', 'utf-8')
    # 指定内容类型
    attachment['content-type'] = 'application/octet-stream'
    # 将中文文件名处理成百分号编码
    filename = quote('王大锤离职证明.docx')
    # 指定如何处置内容
    attachment['content-disposition'] = f'attachment; filename="{filename}"'

# 创建SMTP_SSL对象(连接邮件服务器)
smtp_obj = smtplib.SMTP_SSL('smtp.163.com', 465)
# 通过用户名和授权码进行登录
smtp_obj.login('southpoet@163.com', 'NJvDQspqXvHAtgNg')
# 发送邮件(发件人、收件人、邮件内容(字符串))
smtp_obj.sendmail(
    'southpoet@163.com',
    '563233615@qq.com',
    email.as_string()
)

2、执行结果:

邮件发送了,但是TO邮箱收到的邮件里面,没有看到附件

3、解决问题的过程,使用trae帮我解决问题

自动帮我把代码改正了。再次运行,收到的邮件有附件了,而且能正常打卡附件。

相关推荐
维克兜率天1 小时前
【维克】复合型CTA:趋势+套利的双轮驱动
python·学习方法
伞伞悦读1 小时前
【第76期】两张3行表左连接变5行:主键、validate与未匹配排查完整教程
人工智能·python
用户8356290780512 小时前
使用 Python 在 Excel 中添加和自定义迷你图
后端·python
用户8356290780512 小时前
使用 Python 在 Excel 图表中添加趋势线与回归方程
后端·python
特立独行的猫A2 小时前
一份 Markdown 发十个平台:cspub 一稿多投
java·后端·python
深蓝AI2 小时前
HTTPX 超时 1 秒,接口为何还能跑 2.4 秒?
python
CyrusYiVPP2 小时前
哪个用户会再来买?RFM模型+plotly画出用户分层,数据分析实战第2期
人工智能·python
李帅5154 小时前
用 CPU 做发票识别:从 OCR 文本行到结构化明细表的 4 个硬骨头
python
happylifetree5 小时前
Python79:核心语法-面向对象基础-实例方法
python
贝壳6905 小时前
bool-hybrid-array 9.13.6 偷偷加了个"按键自动升序"的字典,我翻出来测了下
python