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

Python Email对象属性修改无效,如何更新属性并重发邮件?

修改Python Email Message对象头部字段的正确方法

你之前尝试的mailobject.From = 'newvalue'和setattr方法是错误的——这些操作只是给对象添加了自定义属性,根本没改动邮件的头部内容。正确的做法是直接操作邮件对象的头部字典:

1. 修改From/To等标准头部字段

直接通过下标赋值即可替换原有值,若担心存在重复字段,可先删除再设置:

# 修改From字段
if 'From' in mailobject:
    del mailobject['From']
mailobject['From'] = 'newsender@email.com'

# 修改To字段
if 'To' in mailobject:
    del mailobject['To']
mailobject['To'] = 'new_recipient@email.com'

2. 修改Return-Path字段

Return-Path属于特殊头部字段,同样用头部字典操作:

if 'Return-Path' in mailobject:
    del mailobject['Return-Path']
mailobject['Return-Path'] = 'return_address@email.com'

验证修改是否生效

修改后,通过mailobject['From']或mailobject.get('From')查看字段值,不要用mailobject.From——这只会获取你之前错误添加的对象属性,不是邮件头部的真实值。

重发邮件

修改完成后,用smtplib模块发送更新后的邮件对象即可:

import smtplib

with smtplib.SMTP('你的SMTP服务器地址', 587) as server:
    server.starttls()
    server.login('你的邮箱账号', '邮箱密码/授权码')
    server.send_message(mailobject)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 17:42:12