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

如何在Python脚本的Outlook邮件正文中添加发件人名称

获取Outlook当前用户名并添加到邮件正文

嘿,我来帮你搞定这个问题!你之前尝试用mail.SenderName来获取发件人名称,但这个属性在邮件还没发送的时候是拿不到正确值的——它得等邮件发出去之后才会被填充上。

要拿到对应VBA里Application.UserName的当前用户名称,你得通过Outlook的MAPI命名空间来获取当前登录用户的信息,具体操作如下:

  1. 先获取当前Outlook登录用户的名称:
    sender = outlook.GetNamespace("MAPI").CurrentUser.Name
    
  2. 用Python的f-string将这个名称插入到邮件HTML正文中,确保格式符合你的需求。

下面是修正后的完整代码:

import win32com.client as win32

outlook = win32.Dispatch("outlook.application")
mail = outlook.CreateItem(0)
mail.To = "user@somewhere.com"
mail.Subject = "Report"

# 获取当前Outlook登录用户的名称
sender = outlook.GetNamespace("MAPI").CurrentUser.Name

# 构建邮件HTML正文,插入用户名
mail.HTMLBody = "Dear All,<br><br>" \
                "The latest version of the Report is attached in PDF format.<br><br>" \
                "Kind Regards <br><br>" \
                f"{sender}"

attachment = filename  # 这里确保filename变量已提前定义
mail.Attachments.Add(attachment)
mail.Send()

这样修改后,邮件正文就会自动带上运行脚本的用户的Outlook账户名称,完全符合你期望的效果~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:16:42