使用message.setFileName(mfile)发送附件,显示格式不正确
时间: 2024-02-05 22:12:23 浏览: 121
不同格式附件上传
发送附件时,确保使用正确的文件格式。另外,您可以尝试使用以下代码段来设置正确的文件名和格式:
```python
import os
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
# 创建一个带有附件的邮件对象
msg = MIMEMultipart()
# 设置邮件主题、发件人、收件人等信息
msg['Subject'] = '邮件主题'
msg['From'] = '发件人邮箱'
msg['To'] = '收件人邮箱'
# 添加邮件正文
body = '这是一封带有附件的邮件'
msg.attach(MIMEText(body, 'plain'))
# 添加附件
filename = '文件名'
filepath = '文件路径'
with open(filepath, 'rb') as f:
attachment = MIMEApplication(f.read(), _subtype=os.path.splitext(filename)[1][1:])
attachment.add_header('Content-Disposition', 'attachment', filename=('gb2312', '', filename))
msg.attach(attachment)
```
在上述代码中,我们使用`MIMEApplication`类来添加附件,并设置正确的文件名和格式。另外,为了确保附件名称正确显示,我们使用`add_header`方法设置了附件的Content-Disposition头部信息。
阅读全文