我有这个powershell脚本来发送附件的电子邮件,但是当我添加多个收件人时,只有第一个收到邮件.我已经阅读了文档,仍然无法弄明白.谢谢
$recipients = "Marcel <marcel@turie.eu>, Marcelt <marcel@nbs.sk>"
Get-ChildItem "C:\Decrypted\" | Where {-NOT $_.PSIsContainer} | foreach {$_.fullname} |
send-mailmessage -from "primasfrb@nbs.sk" `
-to "$recipients" `
-subject "New files" `
-body "$teloadmin" `
-BodyAsHtml `
-priority High `
-dno onSuccess, onFailure `
-smtpServer 192.168.170.61
Run Code Online (Sandbox Code Playgroud)
CB.*_*CB. 82
$recipients = "Marcel <marcel@turie.eu>, Marcelt <marcel@nbs.sk>"
Run Code Online (Sandbox Code Playgroud)
是string需要传递给类型(数组)send-mailmessage的string[]类型:
[string[]]$recipients = "Marcel <marcel@turie.eu>", "Marcelt <marcel@nbs.sk>"
Run Code Online (Sandbox Code Playgroud)
我认为没有强制转换为string []为powershell的强制规则做了工作:
$recipients = "Marcel <marcel@turie.eu>", "Marcelt <marcel@nbs.sk>"
Run Code Online (Sandbox Code Playgroud)
是object[]类型,但可以做同样的工作.
Rub*_*nov 25
只需创建一个Powershell数组即可
$recipients = @("Marcel <marcel@turie.eu>", "Marcelt <marcel@nbs.sk>")
Run Code Online (Sandbox Code Playgroud)
相同的方法可用于附件
$attachments = @("$PSScriptRoot\image003.png", "$PSScriptRoot\image004.jpg")
Run Code Online (Sandbox Code Playgroud)
要定义字符串数组,使用 $var = @('User1 ', 'User2 ') 更方便。
$servername = hostname
$smtpserver = 'localhost'
$emailTo = @('username1 <user1@dom.com>', 'username2<user2@dom.com>')
$emailFrom = 'SomeServer <user3@dom.com>'
Send-MailMessage -To $emailTo -Subject 'Low available memory' -Body 'Warning' -SmtpServer $smtpserver -From $emailFrom
Run Code Online (Sandbox Code Playgroud)
小智 5
您必须首先将字符串转换为字符串数组,如下所示:
$recipients = "Marcel <marcel@turie.eu>,Marcelt <marcel@nbs.sk>"
[string[]]$To = $recipients.Split(',')
Run Code Online (Sandbox Code Playgroud)
然后Send-MailMessage像这样使用:
Send-MailMessage -From "primasfrb@nbs.sk" -To $To -subject "New files" -body "$teloadmin" -BodyAsHtml -priority High -dno onSuccess, onFailure -smtpServer 192.168.170.61
Run Code Online (Sandbox Code Playgroud)
这是一个完整的(Gmail)和简单的解决方案......只需使用正常的; 分隔符.. 最适合作为参数传入。
$to = "user1@domain.org;user2@domain.org"
$user = "italerts@domain.org"
$pass = "password"
$pass = ConvertTo-SecureString -String $pass -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential $user, $pass
$mailParam = @{
To = $to.Split(';')
From = "IT Alerts <italerts@domain.org>"
Subject = "test"
Body = "test"
SmtpServer = "smtp.gmail.com"
Port = 587 #465
Credential = $cred
UseSsl = $true
}
# Send Email
Send-MailMessage @mailParam
Run Code Online (Sandbox Code Playgroud)
Google Mail 的注意事项
| 归档时间: |
|
| 查看次数: |
204672 次 |
| 最近记录: |