使用Powershell将.md文件的内容设置为电子邮件的主体以进行Outlook

基思

我想获取.md文件的内容,并将其显示在生成的Outlook电子邮件正文中。我可以生成刚刚找到的电子邮件,但正文给出以下错误,但我尚未找到解决方法。

错误:

The object does not support this method.
At line:6 char:1
+ $new.HTMLBody = $a
+ ~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [], COMException
    + FullyQualifiedErrorId : System.Runtime.InteropServices.COMException

码:

$out= New-Object -comObject Outlook.Application
# $sign= Get-Content "C:\Users\Roaming\Microsoft\Signatures\sign.htm"
$recipient= "[email protected]"
$new= $out.CreateItem(0)
$new.Subject = "Meeting details"
$a = Get-Content -Path "c:\temp\file.md"
$new.HTMLBody = $a
$new.Recipients.Add($recipient) 
$new.save() 
# $new.HTMLBody += $sign

$display= $new.GetInspector
$display.Display()
事物管理

要解决发布的错误消息,您需要将文件读取为字符串而不是字符串数组。原因是因为$new.Body期望一个字符串。默认情况下,Get-Content返回一个数组,文件的每一行都是该数组的元素。您可以使用-Raw开关更改此行为,该开关会将内容作为一个字符串读取。

$a = Get-Content -Path "c:\temp\file.md" -Raw

如果-Raw开关更改了换行符格式,则始终可以将默认Get-Content数组与所选的换行符结合在一起。

$a = Get-Content -Path "c:\temp\file.md"
$new.HTMLBody = $a -join "`r`n"

您可以使用GetType()PowerShell对象可用方法查看原始代码中的类型差异

$a.GetType()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     Object[]                                 System.Array


$new.Body.GetType()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     String                                   System.Object

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法通过Powershell通过MAPI将Outlook电子邮件的UnRead属性设置为false

使用Powershell搜索Outlook电子邮件

使用PowerShell搜索Outlook电子邮件

将Outlook电子邮件内容下载到Excel

仅当文件类型为 csv 时,才使用 PHP 查看电子邮件收件箱并将数组设置为文件内容

我可以将Outlook设置为仅发送某些帐户的电子邮件,而不接收其邮件吗?

将Outlook电子邮件导出或打印为PDF

将gmail设置为默认值,以通过电子邮件发送文件

将PDF文件附加到Outlook电子邮件

使用电子邮件内容 php 中的按钮进行电子邮件验证

使用VBA宏将选定的电子邮件移动到Outlook中的垃圾电子邮件文件夹

将Word文档主体复制到Outlook电子邮件:RTE 5

将电子邮件设置为对同一电子邮件主题的回复

Outlook 2010,将电子邮件复制到文件夹中,并将复制的电子邮件标记为已读,但将原始电子邮件保留为未读

如何在Powershell中使用Get-ChildItem将文件附加到电子邮件

使用Powershell将电子邮件另存为.MSG到本地文件夹

如何使用电子邮件扩展将Jenkins构建作业状态设置为电子邮件的默认主题

使用PowerShell从Outlook阅读最新的电子邮件

无法在 Outlook 中使用 powershell 遍历电子邮件对象

如何使用python将Outlook中的电子邮件正文提取并解析为pandas df?

如何在 PowerShell 中创建 Outlook 规则,使用在 C# 中完美运行的相同代码将电子邮件移动到文件夹而不会出错?

PowerShell - 将 HTML 文件作为电子邮件正文发送

使用python通过Outlook将HTML文件作为电子邮件正文发送

使用Outlook 2010将Excel文件作为图像插入电子邮件中

使用Excel VBA将每日收到的电子邮件提示从Outlook导出到文件

如何将电子邮件附件 csv 文件内容存储为 azure 逻辑应用程序中的变量

将电子邮件从 Outlook 导入 Gmail

如何使用 Ruby 将 csv 文件的内容写入电子邮件?

如何使Outlook实际将默认发送到特定帐户的新电子邮件设置为默认值,而不忽略默认设置?