Одним из вариантов может быть наличие сопровождающего файла CSV со строками для имени файла, получателя, имени субъекта и т. Д. Затем можно импортировать файл CSV с помощью Import-Csv .
Например:
$emailList = Import-csv c:\users.csv
foreach ($line in $emailList) {
Write-Host "Sending message to $($line.emailAddress)"
Send-MailMessage -To $line.emailAddress `
-Subject $line.subject `
-Attachments $line.attachmentPath `
-Body $line.bodyText
}
и если вы хотите определить содержимое CSV в сценарии PowerShell, а не использовать внешний файл, вы можете сделать что-то вроде:
$emailList = "emailAddress,subject,attachmentPath,bodyText
joe@bloggs.com,Attachment for Joe,c:\attachmentsToSend\joe.pdf,Attached is your file
Mary@bloggs.com,Mary's attachment,c:\attachmentsToSend\mary.pdf,Hello, Mary. Attached is your file
" | ConvertFrom-Csv
Поместите это выше цикла foreach в скрипте