outlook无法识别Powershell中的一个或多个名称
我正在尝试编写一个简单的powershell脚本来发送邮件,我编写的代码是:outlook无法识别Powershell中的一个或多个名称,powershell,powershell-5.0,Powershell,Powershell 5.0,我正在尝试编写一个简单的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" $
$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>"
“'abc@abcd.com', 'def@abcd.com'"
"abc@abcd.com", "def@abcd.com"
"abc@abcd.com, def@abcd.com"
", "
没有工作,每次都返回相同的错误
提前谢谢 如果您使用Outlook的ComObject,则可以使用
收件人
属性的添加()
方法将多个收件人添加到电子邮件中,例如:
'abc@abcd.com','def@abcd.com'|ForEach{$Mail.Recipients.Add($_)}
执行此操作将返回收件人对象,然后可以对其进行操作,例如,如果希望将其放在CC行而不是to行,则可以执行以下操作:
$Recipients = 'abc@abcd.com','def@abcd.com'|ForEach{$Mail.Recipients.Add($_)}
$Recipients | ForEach{$_.Type = 2}
或者使用
resolve()
方法根据用户的通讯簿解析地址。如果使用Outlook的ComObject,则可以使用Recipients
属性的Add()
方法将多个收件人添加到电子邮件中,例如:
'abc@abcd.com','def@abcd.com'|ForEach{$Mail.Recipients.Add($_)}
执行此操作将返回收件人对象,然后可以对其进行操作,例如,如果希望将其放在CC行而不是to行,则可以执行以下操作:
$Recipients = 'abc@abcd.com','def@abcd.com'|ForEach{$Mail.Recipients.Add($_)}
$Recipients | ForEach{$_.Type = 2}
或者使用
resolve()
方法根据用户的通讯簿解析地址。收件人通常不是用分号分隔的吗?我相信使用Outlook时,您需要(a)使用分隔收件人
、not、
和(b)不要将名称用单引号括在双引号内:“smith@example.com; jones@example.net“
。为什么不直接使用Send MailMessage?您尝试过Send MailMessage吗?我知道您需要另一种方法。我在问OP为什么不使用更简单的方法。收件人通常不是用分号分隔吗?我相信使用Outlook时,您需要(a)使用分隔收件人
、not、
和(b)不要将名称用单引号括在双引号内:“smith@example.com; jones@example.net“
。为什么不直接使用Send MailMessage?您尝试过Send MailMessage吗?我知道您需要另一种方法。我在问OP为什么不使用更简单的方法。