【问题标题】:Sending to multiple recipients with Powershell array使用 Powershell 数组发送给多个收件人
【发布时间】:2020-12-06 09:32:19
【问题描述】:

我有这个 powershell 脚本来发送电子邮件,但是当我使用 Powershell 数组添加多个收件人时,我遇到了一个错误: “发送邮件消息:在邮件标题中发现无效字符:','。” 我已经阅读了文档,但仍然无法弄清楚。谢谢。

这是我的脚本:

$ArrayList = New-Object System.Collections.Generic.List[System.Object]
$strTo=''
#---------------------------------------------------------
$arrayList.add("danny.goethals@rousselot.com")
$ArrayList.add("wim.vandekerckhove@rousselot.com")
#---------------------------------------------------------
foreach($Mailadres in $ArrayList)
{
#$strTo='"'+$Mailadres+'"'+','+$strTo
$strTo=$Mailadres+','+$strTo
}
$EmailTo=$strTo.Substring(0,$strTo.Length-1)
$EmailTo -split','
$EmailFrom = “postmaster@darlingii.com”
$Subject = “TEST mail”
$Body = “Test!!" 
$SMTPServer = "192.168.0.42"
send-mailmessage -From $EmailFrom -To $EmailTo -Subject $Subject -Body $Body -SMTPServer

【问题讨论】:

  • 请将整个错误消息添加到您的问题中。 PoSh 通常在这些消息中有有用的信息... [grin]
  • 这些是 REAL 电子邮件地址吗?如果 som 立即清理问题!

标签: arrays powershell


【解决方案1】:

你的代码很乱,你做的事情比必要的复杂,有些事情是错误的。例如,您正在创建一个用逗号分隔的电子邮件地址的字符串,而不是一个数组。您没有将-split 操作的结果分配给任何东西。这正是错误消息所说的内容。

只需像这样创建数组:

$EmailTo = 'danny.goethals@rousselot.com', 'wim.vandekerckhove@rousselot.com'

这一行替换了代码的前 13 行。

您还应该避免使用这些奇怪的“弯引号”,只使用"'

【讨论】:

【解决方案2】:
$EmailFrom = “postmaster@darlingii.com”
$Subject = “TEST mail”
$Body = “TEST!" 
$SMTPServer = "192.168.0.42"
$EmailTo=
#===================Production================================
"stijn.dolfen@rousselot.com",
#===================author================================
"danny.goethals@rousselot.com"
#===================PA================================
send-mailmessage -From $EmailFrom -To $EmailTo -Subject $Subject -Body $Body -SMTPServer $SMTPServer 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    • 2011-11-18
    • 2021-06-27
    • 1970-01-01
    • 2021-08-15
    • 2019-06-17
    相关资源
    最近更新 更多