在 PowerShell 中向多個收件人傳送電子郵件
自動向一組使用者傳送電子郵件是一個常見的要求,也是不同程式語言的開發人員的困惑點。通過 PowerShell,可以啟用此要求。
本文將討論如何通過 PowerShell 向多個收件人傳送電子郵件。
在 PowerShell 中向一組收件人傳送電子郵件
一些使用者的一個常見問題是電子郵件僅傳送給一個收件人,即給定列表的第一個收件人。有一些方法可以自動向所有必需的收件人傳送電子郵件。
收件人列表必須作為字串陣列
傳遞。如果你提供列表,它將不會正確傳送給所有需要的使用者。下面的程式碼用於新增多個收件人。
[string[]]$recieverslist = "Asenika <asenika@gmail.com>", "Mark <mark@kln.au.lk>"
上面的命令將建立一個收件人列表,你可以向其傳送帶有附件的電子郵件。你必須在以下示例中為收件人提供 $recieverslist
。
send-mailmessage -from "test@123" `
-to "$recieverslist" `
-subject "test" `
-body " test test test" `
使用上面的命令加上正確的伺服器詳細資訊、加密等,你可以將電子郵件傳送到上述 $recieverslist
中的完整接收者列表。因此,使用者可以避免多個收件人的問題。
另一種方法是給列表一個引數
並將其拆分。
PS C:\Users\Agni> $receiverslist = "asenika@gmail.com;MArk@domain.org"
>> $username = "asenika@gmail.com"
>> $password = "password"
>>
>> $password = ConvertTo-SecureString -String $password -AsPlainText -Force
>> $credentials = New-Object System.Management.Automation.PSCredential $username, $password
>> $emailParameter = @{
>> To = $receiverslist.Split(';')
>> From = "Asenika <asenika@gmail.com>"
>> Subject = "tesing"
>> Body = "testing"
>> SmtpServer = "smtp.gmail.com"
>> Port = 587 #465
>> Credential = $credentials
>> UseSsl = $true
>> }
在這裡,輸出將是傳送給指定使用者的電子郵件。
你可以在此處閱讀有關 PowerShell 及其命令的更多資訊。
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.