Отправка электронной почты через PowerShell - PullRequest
0 голосов
/ 29 мая 2020

Когда я пытаюсь отправить электронное письмо через PowerShell, я сталкиваюсь со следующими проблемами: 1. Я не могу изменить отправителя в качестве почтового ящика группы 2. Он не читает вложения, которые я добавляю, но письмо отправляется.

код Я использую:

    $Outlook = New-Object -ComObject Outlook.Application
    $Mail = $Outlook.CreateItem(0)
    $Mail.To = "xyz@outlook.com"
    $Mail.Subject = "sql"
    $mail.attachments = 'C:\Users\desktop.ini'
    $Mail.Body = ""
    $Mail.Send()

ошибку, которую я получаю:

     Property is read-only.
     At C:\Users\Documents\sending email.ps1:5 char:1
     + $mail.attachments = 'C:\Users\desktop.ini'
     + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     + CategoryInfo          : OperationStopped: (:) [], COMException
     + FullyQualifiedErrorId : System.Runtime.InteropServices.COMException

Но файл находится в моем локальном

1 Ответ

1 голос
/ 29 мая 2020

Отсутствует дополнительный параметр

Ваш скрипт должен выглядеть примерно так:

$attachment = "C:\Users\YourUser\Documents\test.txt"    
$mail.attachments.add($attachment)

или, если не с переменной

$mail.attachments.add("C:\Users\YourUser\Documents\test.txt")

Что касается почтовый ящик группы, почтовый ящик должен управляться с помощью

$mail.sendusingaccount = "mailbox@company.com"

Что касается добавления нескольких вложений, вы должны будете иметь их в одном каталоге:

$getfiles = Get-ChildItem "C:\Users\YourUser\Attachmentfolder\"
Foreach ($getfile in $getfiles) {
$mail.attachments.add($getfile.FullName)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...