【问题标题】:Remove signature from outlook mail template executed from python从 python 执行的 Outlook 邮件模板中删除签名
【发布时间】:2019-12-09 07:14:00
【问题描述】:

我编写了一个程序,它从共享驱动器打开一个 .oft 文件,并将所需的电子邮件 ID 放在 TO 字段中,并且还可以编辑主题字段。 但是最后当邮件被显示时,我的默认签名总是被添加。现在我要将此脚本部署到多个用户,邮件不需要用户签名,因为模板已经预定义了组签名。

我已经搜索过了,发现Outlook中没有mail.Signature可以修改。

import win32com.client as win32  


outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItemFromTemplate(r'\\Server\Share\Folder\maial.oft')
mail.To = 'someone@exapmle.com'
mail.Subject = 'Test'
mail.Display(True)

有什么方法可以限制 Outlook 使用 python 在邮件中添加默认签名?

【问题讨论】:

    标签: python-3.x outlook win32com


    【解决方案1】:

    签名作为单独的文件保存在Signatures 文件夹中。您可以在以下位置找到此文件夹:

    • Windows XP
         C:\Documents and Settings\%username%\Application Data\Microsoft\Signatures
    
    • Windows Vista、Windows 7、Windows 8 和 Windows 10
         C:\Users\%username%\AppData\Roaming\Microsoft\Signatures
    

    要查看此文件夹,您必须启用View hidden files and folders,或者您只需将上述路径复制并粘贴到资源管理器的地址栏中即可直接打开该文件夹。

    您可以从指定的文件夹中读取签名并在邮件正文中找到它们(请参阅HTMLBody 属性),这样您就知道应该删除什么。

    【讨论】:

    • 但这将如何帮助我删除通过 python 脚本打开的签名表单邮件。我无法删除签名,因为我必须将其用于我的常规邮件。
    • 您可以从指定的文件夹中读取签名并在邮件正文中找到它们(请参阅HTMLBody 属性),这样您就知道应该删除什么。
    • 我已经尝试打印mail.HTMLBody,但它不包含任何可以删除的与签名相关的内容。
    • 签名可能不提供任何指标。您需要尝试从HTMLBody 字符串中提取签名文件夹中列出的部分。
    【解决方案2】:

    由于签名是整个电子邮件正文 (.HTMLbody) 的一部分,我意识到我可以用空白“初始化”它,然后用所需的内容“返回”它。如果您使用 .GetInspector,这将特别有用,默认情况下,它始终包含活动 Outlook 用户帐户的指定电子邮件签名。

    所以你可以这样做:

    mail.HTMLbody = ''
    

    然后

    mail.HTMLbody = '<Insert desired content>' #This overwrites the previous one
    

    和/或通过 .GetInspector 粘贴一些内容,例如 Word 文档内容:

    msg.GetInspector.WordEditor.Range(Start=0, End=0).Paste() #This seems to append, not overwrite
    

    有关将 Word 文档复制到 Outlook 的更多信息,请参阅post

    -编辑-

    由于 OP 使用模板,因此电子邮件签名似乎在模板本身内(Outlook 没有通过 .GetInspector 调用 --- 这是我的实际情况),我能想到的两种可能的解决方案是

    1. 通过创建不带 sig 的副本来摆脱它,然后将修改后的副本发送到 Outlook。

    2. 继续使用模板,但通过 .GetInspector 指定范围(不包括电子邮件签名)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-07
      • 1970-01-01
      • 2014-03-23
      • 2017-03-14
      • 2019-09-18
      • 1970-01-01
      相关资源
      最近更新 更多