You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python的MIME处理包发送邮件?header_max_count报错如何解决?

报错原因

你触发报错的核心原因是EmailMessage类实例化方式错误:EmailMessage构造函数不支持直接传入邮件正文作为位置参数,你传入的字符串"HI"会导致实例初始化异常,后续给Subject等头部字段赋值时就会触发'str' object has no attribute 'header_max_count'报错。

修复方案
  • 调整EmailMessage实例化逻辑,先创建空实例,再调用set_content()方法设置邮件正文
  • 发件人、收件人地址需要用引号包裹为字符串类型,避免触发语法错误
  • 如果本地未搭建SMTP服务,需要替换为对应邮箱服务商的SMTP地址、端口,完成身份验证后再发送邮件
修正后的完整代码
# 导入发送邮件所需的smtplib库
import smtplib
# 导入email模块
from email.message import EmailMessage

# 创建空的EmailMessage实例
msg = EmailMessage()
# 设置邮件正文
msg.set_content("HI")

# 配置邮件头部
msg['Subject'] = "SubjectLine"
# 发件人地址需要加引号转为字符串
msg['From'] = "aaaaa@gmail.com"
# 收件人地址需要加引号转为字符串
msg['To'] = "aaaaa@yahoo.com"

# 发送邮件(如果使用第三方邮箱SMTP服务,需要替换为对应服务商的地址和端口,加身份验证)
# 示例:s = smtplib.SMTP_SSL('smtp.xxx.com', 465)
# s.login("你的邮箱地址", "你的授权码")
s = smtplib.SMTP('localhost')
s.send_message(msg)
s.quit()

内容的提问来源于stack exchange,提问作者Bojan Milinic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 06:54:03