Это работает для меня:
$WorkDir = "C:\1_PDF"
$RGMailList = Get-ChildItem -Path $WorkDir -Filter *.pdf
ForEach ($RGMail in $RGMailList)
{
$Outlook = New-Object -ComObject Outlook.Application
$namespace = $Outlook.GetNameSpace("MAPI")
$namespace.Logon($null, $null, $false, $true);
$EmailFrom = ("[email protected]")
$Mail = $Outlook.CreateItem(0)
$Mail.To = "[email protected]"
$Mail.Subject = "Subject " + "$RGMail".substring(3)
$account = $outlook.Session.Accounts.Item($EmailFrom)
function Invoke-SetProperty {
param(
[__ComObject] $Object,
[String] $Property,
$Value
)
[Void] $Object.GetType().InvokeMember($Property,"SetProperty",$NULL,$Object,$Value)
}
Invoke-SetProperty -Object $mail -Property "SendUsingAccount" -Value $account
$Mail.GetInspector.Activate()
$Mail.Attachments.Add("$WorkDir\$RGMail")
$Mail.Send()}
Рекомендую посмотреть эти видео для лучшего погружения в вопрос: