我有一个电子表格,位于C:\ scripts \ test.csv,其中包含用户电子邮件地址列表。
我正在尝试将以下电子邮件发送给这些用户中的每一个,但仅发送给其中一个用户。如何将其发送给所有用户?
$recipients = get-content C:\scripts\test.csv
$smtpServer = "mail.server.com"
$msg = new-object Net.Mail.MailMessage
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$msg.From = "[email protected]"
$msg.To.Add($recipients)
$msg.subject = "Requiring Updates"
$msg.IsBodyHTML = $true
$body = @'
<html>
<body>
<font face="calibri">Hello, please read this test email.</font>
</body>
</html>
'@
$msg.body = $body
$smtp.Send($msg)
最佳答案
因此,您必须在foreach循环中一个接一个地迭代它们。
将现有代码更改为此:
$recipients = get-content C:\scripts\test.csv
foreach($rcpt in $recipients)
{
$smtpServer = "mail.server.com"
$msg = new-object Net.Mail.MailMessage
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$msg.From = "[email protected]"
$msg.To.Add($rcpt)
$msg.subject = "Requiring Updates"
$msg.IsBodyHTML = $true
$body = @'
<html>
<body>
<font face="calibri">Hello, please read this test email.</font>
</body>
</html>
'@
$msg.body = $body
$smtp.Send($msg)
}
希望能帮助到你。
关于powershell - Powershell将电子邮件发送给Excel电子表格中的收件人,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42800124/