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

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 FIR滤波器算法设计与实现(利用库函数firdec()
  • ¥15 利用单片机产生正弦信号,来测量差分放大电路放大倍数和共模放大倍数的思路和仿真
  • ¥60 关于mavlink的论文咨询
  • ¥66 定制开发肯德基自动化网站下单软件
  • ¥15 中科院研发的TextMind(文心)
  • ¥20 vscode虚拟环境依赖包未安装
  • ¥15 odoo17关于owl开发js代码问题
  • ¥15 光纤中多普勒频移公式的推导
  • ¥15 怎么制作一个人脸识别门禁系统
  • ¥20 大华dss监控平台网络关闭登不进去