零度红茶 2022-08-21 09:53 采纳率: 66.7%
浏览 99
已结题

Python 发送电子邮件报错

从网上借鉴了一段 python 发邮件的代码,修改相应的参数运行,报错:(553, b"2ee163018c284c1-55377 mail from [zhangzhitao@sd.chinamobile.com] must be same as email head's from user:[]")
报错行:email_client.sendmail(from_addr=FROM, to_addrs=TO.split(','), msg=message.as_string()
已核实,邮箱的pop/stmp 服务开启,并填了正确的授权吗
找不出问题出在哪里
求指点:
以下为代码:

from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
import smtplib

# 设置邮箱的域名
HOST = 'smtp.sd.chinamobile.com'
# 设置邮件标题
SUBJECT = '截止目前数据'
# 设置发件人邮箱
FROM = 'zhangzhitao@sd.chinamobile.com'
# 设置收件人邮箱,可以同时发送到多个邮箱(用list)
TO = '18764746047@139.com'
# 设置附件模式
message = MIMEMultipart('mixed')

''' 添加正文 '''
content = '各位好,附件为最新日期文件,请查收!'
content_msg = MIMEText(content)
message.attach(content_msg)

csv_file = open('C:\\Users\\Administrator\\Desktop\\自动邮件测试.xlsx', 'rb').read()
csv = MIMEApplication(csv_file)
csv.add_header('Content-Disposition', 'attachment', filename='自动邮件测试.xlsx')
message.attach(csv)
# 获取SSL证书
email_client = smtplib.SMTP_SSL(host='smtp.sd.chinamobile.com')
# 设置域名和端口,端口为465
email_client.connect(HOST, '465')
# 邮箱授权码
email_client.login(FROM, '***********')
email_client.sendmail(from_addr=FROM, to_addrs=TO.split(','), msg=message.as_string())
# 关闭邮件发送客户端
email_client.quit()

  • 写回答

4条回答 默认 最新

  • honestman_ 2022-08-21 10:18
    关注

    保证登录人邮箱跟发信人邮箱一致,要么都用163邮箱,要么都用QQ邮箱

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 9月3日
  • 已采纳回答 8月26日
  • 创建了问题 8月21日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵