Скрипт для PowerShell рассылает файлы на email согласно имен файлов.
Данный скрипт предназначен для автоматизации рассылки счетов бухгалтерам предприятий. Скрипт ищет в каталоге файлы по имени (в моем случае файлы включают в имя ИИН компании) и рассылает их вложениями на email адреса.
$user = "sendmail@mel.kiev.ua" $enterPass = Read-Host "Введите пароль для отправки почты" $pass = ConvertTo-SecureString -String "$enterPass" -AsPlainText -Force $smtpServer = "smtp.gmail.com" $port = 587 $encoding = [System.Text.Encoding]::UTF8 $hashPath = @{ "205182271" = "natalia.prushkovska@mel.kiev.ua" "205179750" = "oksana.pidruchna@mel.kiev.ua" "205179751" = "oksana.pidruchna@mel.kiev.ua" "205182296" = "oksana.pidruchna@mel.kiev.ua" "205190356" = "Igor.Popovich@mel.kiev.ua" "205301856" = "yulia.nazarenko@mel.kiev.ua" "205183830" = "natalia.prushkovska@mel.kiev.ua" "205179911" = "Igor.Popovich@mel.kiev.ua" } $hashPath.GetEnumerator() | % { $filterWord = $($_.key) $userEmail = $($_.Value) $file = Get-ChildItem -Path "c:\bills\" -Recurse -Filter "*$filterWord*" | Sort-Object LastWriteTime -Descending | Select-Object -First 5 Write-Host "Отправка счетов на: $userEmail" Write-Output -Verbose "Attaching File : $($file.FullName)" $mailParam = @{ To = "$userEmail" From = "sendmail@mel.kiev.ua" Subject = 'Счета LifeCell' Body = 'Добрый день, во вложении счета на оплату телефонной связи' SmtpServer = $smtpServer Port = $port Credential = New-Object System.Management.Automation.PSCredential ($user, $pass)#remark out if not using user/pass Attachments = $file.fullname } Send-MailMessage @mailParam -Verbose -UseSsl -Encoding $encoding #Удаление файлов после отправки #Get-ChildItem -Path "c:\tst\" -Recurse -Filter "*$filterWord*" | Sort-Object LastWriteTime -Descending | Select-Object -First 5 | Remove-Item "Файлы отправлены" Write-Host "$($_.value["Entry 1"])" }