Powershell 从查询结果中获取电子邮件后,如何发送多封电子邮件?
我有一个表格,每个记录都有一个电子邮件地址和日期。我需要通过表进行查询,如果日期少于一天,则需要发送到与该记录关联的电子邮件地址 我设置了用于测试的电子邮件发送,但我一直未能检索到我需要的信息并发送到多个地址。查询的每一行都有一个需要添加到收件人列表中的电子邮件地址。有人能帮忙吗 这是我到目前为止的代码 我已经尝试过一个if语句,其中if true然后send从记录中检索电子邮件并添加到收件人列表Powershell 从查询结果中获取电子邮件后,如何发送多封电子邮件?,powershell,Powershell,我有一个表格,每个记录都有一个电子邮件地址和日期。我需要通过表进行查询,如果日期少于一天,则需要发送到与该记录关联的电子邮件地址 我设置了用于测试的电子邮件发送,但我一直未能检索到我需要的信息并发送到多个地址。查询的每一行都有一个需要添加到收件人列表中的电子邮件地址。有人能帮忙吗 这是我到目前为止的代码 我已经尝试过一个if语句,其中if true然后send从记录中检索电子邮件并添加到收件人列表 $Username = "moc"; $Password = "xxxxxx"; functio
$Username = "moc";
$Password = "xxxxxx";
function Send-ToEmail([string]$email){
$message = new-object Net.Mail.MailMessage;
$message.From = "moc@company.com";
$message.To.Add($email);
$message.Subject = "New Items Item Request";
$message.Body = "You have new items in the Request App";
$smtp = new-object Net.Mail.SmtpClient("hq", "host");
$smtp.EnableSSL = $false;
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
$smtp.send($message);
write-host "Mail Sent" ;
}
Send-ToEmail -email "test@market.com","test@market.com";
同样,我能够将带有上述代码的电子邮件发送到测试电子邮件地址,但我很难从每行中检索地址并将其添加到收件人列表中。首先,修改您的函数签名以接受电子邮件地址数组:
function Send-ToEmail([string[]]$emailAddresses){
然后要添加,迭代所有这些地址,添加每个地址:
$emailAddresses | foreach {$message.To.Add($_)}
电子邮件地址需要用分号分隔。不清楚您在问什么,是否希望Send ToEmail支持将邮件发送到电子邮件地址列表?是的,我希望。一旦我从sql查询中查询电子邮件,我想将此列表添加到收件人,以便他们都收到相同的电子邮件。