Я пытаюсь отправить электронное письмо нескольким получателям в 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
локально в функции, это также работает правильно, поэтому проблема заключается в передаче параметра функции.
Что такое _I знаю о PowerShell 1.0, но я не хочу его использовать. – Matt
Какую версию PowerShell вы используете? 'Get-Host'. Я не вижу и не говорю здесь со вторым примером, и это работает на меня. – Matt
@Paul Это не работает. $ хочет массив строк, который он будет разворачивать. При использовании унарного оператора он преобразует его в строку с разделителями пробелов .... если вы не измените тип параметра функции. – Matt