Для всех,
У меня есть CSV, где в каждой строке есть самоконтроль подрядчика, дата истечения срока его счета, имя руководителя подрядчика и соответствующий адрес электронной почты.
У меня есть следующие данные в моем csv:
Name,AccountExpirationDate,Submitter,SubmitterEmail
Username1,9/21/2019,Submitter1,Submitter1@b.com
Username2,9/22/2019,Submitter2,Submitter2@b.com
Username3,9/23/2019,Submitter3,Submitter3@b.com
Когда я выполняю код, приведенный ниже, он отправляет электронное письмо для каждой строки, но в сообщении указываются только данные username3 в каждом письме. Как я могу исправить это так, чтобы submitter1@b.com получал данные username1, а также для submitter2, получающего данные username2 и т. Д.?
$from = "Your Friends in IT <a@b.c>"
$subject = "Your contractors's login account will expire soon!"
$body = "Hello <br>"
$body += "Your contractor's login account for <b>$Name</b></font> is set to expire on<b> $AccountExpirationDate</b>.<br>"
$body += "Kind Regards,<br><br>"
$body += "Your friends in IT"
$csv = Import-Csv -Path "C:\ps\SAC-Accounts-ExpiringSoon.csv"
$csv | foreach {
$Name = $_.name
$to = $_.SACSubmitterEmail
$_.AccountExpirationDate = $_.AccountExpirationDate -as [datetime]
$_
}
ForEach ($user in $csv)
{
$mail = New-Object System.Net.Mail.Mailmessage $from, $to, $subject, $body
$mail.IsBodyHTML=$true
$server = "mail.b.com"
# $port = 25
$Smtp = New-Object System.Net.Mail.SMTPClient $server,$port
$Smtp.Credentials = [system.Net.CredentialCache]::DefaultNetworkCredentials
$smtp.send($mail)
}