1,问题:文件名为中文的附件,接收的结果不能正常显示
附件接收后,如图所示
# 问题原因 ---> 中文的文件名发送后显示乱码
mime_base.add_header('Content-Disposition', f"attachment; filename= {
excel_file_path}")
# 解决方法1 : filename用gbk特殊处理一下
mime_base.add_header('Content-Disposition', 'attachment', fileName=('gbk', '', excel_file_path)) #(CHARSET, LANGUAGE, VALUE)
# 解决方法2 : filename用urlencode进行编码
filename_encoded = quote(excel_file_path) # from urllib.parse import quote
content_disposition = f'attachment; filename*=utf-8\'\'{
filename_encoded}'
mime_base.add_header('Content-Disposition', content_disposition)
2,正确处理
- 163 邮箱服务器地址、端口参考:https://mail.163.com/mailhelp/client.htm
- 163 邮箱开启客户端授权码: