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

Outlook邮件体内容被覆写问题:如何让脚本追加内容而非覆盖?

邮件体内容被覆写的解决方法

问题描述

需求:编写脚本实现以下逻辑:先检查列表suspended_stat是否包含元素,若有则向Outlook邮件体写入对应内容;再检查列表outlook_stat_final是否包含元素,若有则向邮件体写入对应内容。

当前问题:执行后邮件体仅显示最后一段内容(TEXT_2),suspended_stat对应的内容被覆写,如何避免这个问题?

原代码:

if suspended_stat:  
    
    mail_item.Body = greet  + msg  + "\n".join(suspended_stat)  + '\t\n \t\n' "text_1. \t\n \t\n" 
else:
    
    mail_item.Body = greet  + "No activity detected" '\t\n \t\n'

if outlook_stat_final:
    mail_item.Body= "\n".join(outlook_stat_final) + "\t\n \t\n" + signature
else:
    mail_item.Body = "TEXT_2. \t\n\t\n"  + signature

解决方案

问题核心是每次给mail_item.Body赋值时都直接覆盖了原有内容,而不是追加。只需把第二部分的赋值方式从=改为+=,同时修正原代码里的字符串拼接语法错误:

修正后的代码:

# 先处理suspended_stat部分,初始化邮件体
if suspended_stat:
    mail_item.Body = greet + msg + "\n".join(suspended_stat) + '\t\n \t\ntext_1. \t\n \t\n'
else:
    mail_item.Body = greet + "No activity detected" + '\t\n \t\n'

# 追加outlook_stat_final相关内容,避免覆盖
if outlook_stat_final:
    mail_item.Body += "\n".join(outlook_stat_final) + "\t\n \t\n" + signature
else:
    mail_item.Body += "TEXT_2. \t\n\t\n" + signature

关键说明

  1. 使用+=运算符替代=,实现内容追加而非覆盖原有邮件体内容
  2. 原代码第一部分中'\t\n \t\n' "text_1. \t\n \t\n"缺少字符串连接符+,已一并修正,否则会引发语法错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 07:07:34