将多个字符串作为单个函数参数传递

eodeluga

我正在尝试向PowerShell中的多个收件人发送电子邮件。

我知道PowerShell 1.0的方式,但我不想使用它。

我的电子邮件功能如下所示

function Send-Mail() {

    Param ( 
            # email attributes    
            [string]$smtpServer,
            [string]$from,
            [string[]]$to,
            [string]$subject,
            [string]$body
    )

    Send-MailMessage -To $to -Subject $subject -BodyAsHtml $body -SmtpServer $smtpServer -From $from 
}

我可以做到这一点:

$smtpServer = "email.server.local"
$from = "[email protected]"
$subject = "Subject"
$body = "Test"

Send-Mail $smtpServer $from ("[email protected]", "[email protected]") $subject $body

..但是如果我放

$to = "[email protected]", "[email protected]"
Send-Mail $smtpServer $from $to $subject $body

邮件仅发给第二个收件人

如果我$to在函数中本地设置,那么它也可以正常工作,因此问题在于将参​​数传递给了函数。

RM海莉

我以这种方式发送它,并且它就像一种魅力。PS v4,Windows Server 2012

Send-MailMessage -To "[email protected]", "[email protected]" -Body "TEST" -From "[email protected]" -Subject "TEST" -SmtpServer smarthost.domain.com

为了您的功能,我将电子邮件作为数组提交。这对我也有用。

$array = New-Object System.Collections.ArrayList
$array += "[email protected]"
$array += "[email protected]"
Send-MailMessage -To $array -Body "TEST" -From "[email protected]" -Subject "TEST" -SmtpServer smarthost.domain.com

...最终,这对我来说使用您的功能就可以了。

function Send-Mail() {
    Param ( 
        # email attributes    
        [string]$smtpServer,
        [string]$from,
        [string[]]$to,
        [string]$subject,
        [string]$body
    )
    Send-MailMessage -To $to -Subject $subject -BodyAsHtml $body -SmtpServer $smtpServer -From $from 
}
$array  = New-Object System.Collections.ArrayList
$array += "[email protected]"
$array += "[email protected]"
Send-Mail -smtpServer "smarthost.domain.com" `
          -from       "[email protected]"      `
          -to         $array                 `
          -subject    "Test"                 `
          -body       "TEST"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将多个argumens作为单个字符串传递给外部程序

将多个字符串值作为参数从服务器端传递给 javascript 函数

Python将多个字符串传递给单个命令行参数

如何将字符串作为包含多个字符串的参数

将文件作为一个字符串参数传递给bash函数

将参数列表作为一个字符串传递给python函数

C 传递多个字符串和数字作为参数列表

ZSH,串联将参数传递到单个字符串中

在PowerShell中传递多个字符串参数

我希望一个函数能够将字符串列表或多个字符串作为参数作为 *args

将多个字符串值参数传递给SSRS中的SP

如何将列表的所有内容转换为单个字符串以作为dataframe.select()中的参数传递?

将 156 个字符串传递给多个函数

将多个字符串从html表单传递到javascript函数?

Python,允许将单个字符串和字符串列表传递给函数

为什么String.Split()不允许将单个字符串作为参数

如何将多个字符串和int合并为单个字符串

PHP将逗号分隔的字符串作为多个参数传递给函数

支持单个字符串和数组作为一个参数

Delphi如何检索所有参数作为单个字符串

将字符串作为键参数传递给函数

将函数的字符串参数作为列名传递

将空格字符串作为参数传递给函数

Java-从循环返回多个值,作为单个字符串

在ASP.NET中使用Eval将多个字符串参数传递给Javascript

CSV文件作为单个字符串返回

从C ++代码到C代码将多个字符串传递给函数会引发错误

Unity - 如何使用单个字符串为 UI 按钮调用多个参数

Android Asynctask传递单个字符串