outlook 无法识别 Powershell 中的一个或多个名称
outlook does not recognize one or more names in Powershell
我正在尝试编写一个简单的 powershell 脚本来发送邮件,我编写的代码是:
$recipients = "'abc@abcd.com', 'def@abcd.com'"
$Outlook = New-Object -ComObject Outlook.Application
$Mail = $Outlook.CreateItem(0)
$Mail.To = $recipients
$Mail.Subject = "Action"
$Mail.Body ="Pay rise please"
$Mail.Send()
这是与一个收件人一起工作的,但是一旦我想添加多个联系人和 运行 脚本,它会显示
Outlook does not recognize one or more names.
At line:10 char:1
+ $Mail.Send()
+ ~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (:) [], COMException
+ FullyQualifiedErrorId : System.Runtime.InteropServices.COMException
我尝试了多种定义收件人列表的方法:
"'abc@abcd.com', 'def@abcd.com'"
"abc@abcd.com", "def@abcd.com"
"abc@abcd.com, def@abcd.com"
"<abc@abcd.com>, <def@abcd.com>"
没有任何效果,returns每次都出现同样的错误。
提前致谢!
如果您使用 Outlook 的 ComObject,您可以使用 Recipients
属性 的 Add()
方法将多个收件人添加到电子邮件中,例如:
'abc@abcd.com','def@abcd.com'|ForEach{$Mail.Recipients.Add($_)}
这样做会 return 收件人对象,然后您可以对其进行操作,例如,如果您想将它们放在抄送行而不是收件人行上,您可以这样做:
$Recipients = 'abc@abcd.com','def@abcd.com'|ForEach{$Mail.Recipients.Add($_)}
$Recipients | ForEach{$_.Type = 2}
或者使用Resolve()
方法根据用户通讯录解析地址。
我正在尝试编写一个简单的 powershell 脚本来发送邮件,我编写的代码是:
$recipients = "'abc@abcd.com', 'def@abcd.com'"
$Outlook = New-Object -ComObject Outlook.Application
$Mail = $Outlook.CreateItem(0)
$Mail.To = $recipients
$Mail.Subject = "Action"
$Mail.Body ="Pay rise please"
$Mail.Send()
这是与一个收件人一起工作的,但是一旦我想添加多个联系人和 运行 脚本,它会显示
Outlook does not recognize one or more names.
At line:10 char:1
+ $Mail.Send()
+ ~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (:) [], COMException
+ FullyQualifiedErrorId : System.Runtime.InteropServices.COMException
我尝试了多种定义收件人列表的方法:
"'abc@abcd.com', 'def@abcd.com'"
"abc@abcd.com", "def@abcd.com"
"abc@abcd.com, def@abcd.com"
"<abc@abcd.com>, <def@abcd.com>"
没有任何效果,returns每次都出现同样的错误。
提前致谢!
如果您使用 Outlook 的 ComObject,您可以使用 Recipients
属性 的 Add()
方法将多个收件人添加到电子邮件中,例如:
'abc@abcd.com','def@abcd.com'|ForEach{$Mail.Recipients.Add($_)}
这样做会 return 收件人对象,然后您可以对其进行操作,例如,如果您想将它们放在抄送行而不是收件人行上,您可以这样做:
$Recipients = 'abc@abcd.com','def@abcd.com'|ForEach{$Mail.Recipients.Add($_)}
$Recipients | ForEach{$_.Type = 2}
或者使用Resolve()
方法根据用户通讯录解析地址。