Как создать файл MSG с CC с PowerShell? - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь создать файл msg с powershell. Я уже мог добавить тему и получателя. но я не могу добавить CC.

Это то, что у меня есть до сих пор:

$obj = New-Object -ComObject Outlook.Application
$mail = $obj.CreateItem(0) 

$Mail.Recipients.Add("email@email.com") 

$Mail.Recipients.Type = olCC
$Mail.Recipients.Add("email2@email.com") 
$Mail.Recipients.Add("email3@email.com") 

$Mail.Subject = "Some Subject" 
$Mail.Body = "test mail with powershell"

$Mail.Attachments.Add("c:\Users\se\Desktop\Attachment.txt")
$mail.SaveAs("c:\Users\se\Desktop\test.msg")

c:\Users\se\Desktop\test.msg

Я пытался изменить объект получателя со значения по умолчанию («Кому») на CC, но этоне работает.

1 Ответ

0 голосов
/ 15 октября 2019

Согласно документации вам необходимо изменить тип объектов получателей, а не коллекции Recipients, прежде чем добавлять получателей.

$cc = $Mail.Recipients.Add("email2@email.com")
$cc.Type = 2
$cc = $Mail.Recipients.Add("email3@email.com")
$cc.Type = 2

Также olCC - этонедопустимая константа в PowerShell. Вам необходимо либо присвоить числовое значение константы (см. Выше), либо самостоятельно определить константу

$olCC = 2
# alternatively, if you want $olCC to be an actual constant:
#New-Variable -Name olCC -Value 2 -Option Constant
...
$cc = $Mail.Recipients.Add("email2@email.com")
$cc.Type = $olCC
$cc = $Mail.Recipients.Add("email3@email.com")
$cc.Type = $olCC

, либо найти значение в сборке взаимодействия (не проверено):

Add-Type -AssemblyName Microsoft.Office.Interop.Outlook
...
$cc = $Mail.Recipients.Add("email2@email.com")
$cc.Type = [Microsoft.Office.Interop.Outlook.Constants]::olCC
$cc = $Mail.Recipients.Add("email3@email.com")
$cc.Type = [Microsoft.Office.Interop.Outlook.Constants]::olCC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...