Powershell 从 SQL 查询中向每个用户发送邮件
Powershell mail every user from SQL query
不幸的是,我无法从遇到的所有示例中找到答案。
我有一个包含以下值的 SQL 查询
名
后缀
姓
电子邮件地址
现在我想为每条记录发送一封邮件,并在邮件中注明姓名。
下面是现在不执行循环并将姓名放入邮件的代码。
<# Variabelen #>
$PlaceDate = "Amsterdam, " + (Get-Date -f dd-MM-yyyy)
$MailSubject = "My subject"
$sqlinstance = "MSSQLSRV1"
<# SQL data #>
$query = "SELECT [Firstname]
,[Suffix]
,[Lastname]
,[Emailaddress]
,[DateVisit]
FROM [DBname].[dbo].[tbl_EventVisitors]
where CONVERT(DATE, [DateVisit]) = CAST( GETDATE()-1 AS Date )"
$results = Invoke-Sqlcmd -Query $query -ServerInstance $sqlinstance
<# Create mail with SQL fields #>
$CoryReportHtml = ConvertTo-Html -PreContent @"
<body>
<br />
$PlaceDate<br /><br />
Dear $Firstname $Suffix $Lastname,<br />
MyMessage
</body>
"@ | Out-String
<# Send the mail #>
$mailParams = @{
SmtpServer = 'localhost'
to = $Emailaddress
from = "from@example.com"
Subject = $MailSubject
Body = $CoryReportHtml
BodyAsHtml = $true
}
Send-MailMessage @mailParams
$results = Invoke-Sqlcmd -Query $query -ServerInstance $sqlinstance
foreach ($row in $results) {
$body_value = $null
$body_value = "Dear $($row.Firstname) $($row.$Lastname)"
$body_value += "my message"
$Emailaddress = $row.Name
$MailSubject = "Subject here"
$mailParams = @{
SmtpServer = 'localhost'
to = $Emailaddress
from = "from@example.com"
Subject = $MailSubject
Body = $body_valu
BodyAsHtml = $true
}
Send-MailMessage @mailParams
Write-Host "email sent to $row.name"
}
不幸的是,我无法从遇到的所有示例中找到答案。
我有一个包含以下值的 SQL 查询 名 后缀 姓 电子邮件地址
现在我想为每条记录发送一封邮件,并在邮件中注明姓名。
下面是现在不执行循环并将姓名放入邮件的代码。
<# Variabelen #>
$PlaceDate = "Amsterdam, " + (Get-Date -f dd-MM-yyyy)
$MailSubject = "My subject"
$sqlinstance = "MSSQLSRV1"
<# SQL data #>
$query = "SELECT [Firstname]
,[Suffix]
,[Lastname]
,[Emailaddress]
,[DateVisit]
FROM [DBname].[dbo].[tbl_EventVisitors]
where CONVERT(DATE, [DateVisit]) = CAST( GETDATE()-1 AS Date )"
$results = Invoke-Sqlcmd -Query $query -ServerInstance $sqlinstance
<# Create mail with SQL fields #>
$CoryReportHtml = ConvertTo-Html -PreContent @"
<body>
<br />
$PlaceDate<br /><br />
Dear $Firstname $Suffix $Lastname,<br />
MyMessage
</body>
"@ | Out-String
<# Send the mail #>
$mailParams = @{
SmtpServer = 'localhost'
to = $Emailaddress
from = "from@example.com"
Subject = $MailSubject
Body = $CoryReportHtml
BodyAsHtml = $true
}
Send-MailMessage @mailParams
$results = Invoke-Sqlcmd -Query $query -ServerInstance $sqlinstance
foreach ($row in $results) {
$body_value = $null
$body_value = "Dear $($row.Firstname) $($row.$Lastname)"
$body_value += "my message"
$Emailaddress = $row.Name
$MailSubject = "Subject here"
$mailParams = @{
SmtpServer = 'localhost'
to = $Emailaddress
from = "from@example.com"
Subject = $MailSubject
Body = $body_valu
BodyAsHtml = $true
}
Send-MailMessage @mailParams
Write-Host "email sent to $row.name"
}