powershell - 从查询结果中获取电子邮件后,如何发送到多个电子邮件?
问题描述
我有一个表格,其中每条记录都有一个电子邮件地址和一个日期。我需要通过表格进行查询,如果日期少于一天,那么我需要发送到与该记录关联的电子邮件地址。
我设置了用于测试的电子邮件发送,但我一直未能检索到我需要的信息并发送到多个地址。查询的每一行都有一个需要添加到收件人列表中的电子邮件地址。有人可以帮忙吗?
这是我到目前为止的代码。
我已经尝试过一个 if 语句,如果为真则发送从记录中检索电子邮件并添加到收件人列表
$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($_)}
推荐阅读
- spring-boot - 由于我添加了嵌入式 ActiveMQ,因此 Spring Boot 应用程序不会在“eb deploy”上退出
- php - 在while循环中运行MYSQLI命令,该循环位于for每个循环内,但仅返回1个值
- django - 模板中未显示 Django 模型
- azure - Azure Devops API 创建生成定义
- javascript - JavaScript / React - 异步数组映射
- c# - 将 MetroFramework.Forms.MetroForm 作为参数传递给方法时的不同结果
- javascript - rxjs__WEBPACK_IMPORTED_MODULE_1__.Observable.throw 不是函数
- algorithm - 比较两种算法的时间复杂度
- mysql - 将新的 NOT NULL 列添加到包含数据的现有表
- android - 如何将 liveData 添加到 MPandroidchart