【问题标题】:Open draft email with signature打开带有签名的草稿电子邮件
【发布时间】:2020-09-17 14:42:12
【问题描述】:

我正在尝试使用 Powershell 作为草稿打开一封电子邮件,其中已经显示了签名。

有没有办法在邮件中显示正文和签名?签名中也经常有图片,所以如果可能的话,我也想把它们带过来。

$Outlook = New-Object -ComObject Outlook.Application

$Mail = $Outlook.CreateItem(0)
$Mail.To = "my_email@outlook.com"
$Mail.Subject = "Show my signature"
$body = "<body>Test body `r`n`n</body>"
$temp = $mail.body
$mail.htmlbody=get-content $env:appdata\Microsoft\Signatures\*.htm

$mail.body= $text +$mail.body + $temp

$mail.save()
$inspector = $mail.GetInspector
$inspector.Display()

编辑解决方案是在 .Display() 之后添加正文

$mail.save()
$inspector = $mail.GetInspector
$inspector.Display()

$body = "<body>Test body <br><br></body>"
$mail.HTMLbody = $body + $mail.HTMLbody

【问题讨论】:

  • 感谢@DmitryStreblechenko 的回复,当我省略 HTML 正文时,签名很容易出现。如何还预设我希望电子邮件正文包含的内容?
  • 消息显示后,需要将已有的HTML body与自己的数据合并(插入body标签后)。

标签: powershell outlook signature


【解决方案1】:

当您调用Display 方法时,Outlook 会插入签名。如果未添加签名,则您没有为将要发送该项目的帐户设置任何签名。您似乎没有设置正确的帐户,该帐户使用 SendUsingAccount 属性设置了该属性。

签名作为单独的文件保存在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

因此,您可以读取文件内容并修改HTMLBody 属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-29
    • 2019-06-03
    • 1970-01-01
    • 2021-08-08
    • 1970-01-01
    • 1970-01-01
    • 2011-02-21
    • 1970-01-01
    相关资源
    最近更新 更多