2017-02-04 6 views
0

powershellと同じ複数のメールを同じユーザに送信するなど、同じメールを送信できますか? フォロースクリプトではメールだけを送信できます。複数の同じメールをpowershellで送信

$From ="user name" 
$To = "user name" 
$Subject = "Email Subject" 
$Body = "hello" 
$`SMTPServer` = "`smtp` name" 
$`SMTPPort` = "`nrport`" 
$BCC = "`username`" 
Send-`MailMessage` -From $From -to $To -Subject $Subject -Body $Body -`SmtpServer` $`SMTPServer` -`UseSsl` -Bcc $BCC 

答えて

0

ただ、何回か(この場合は10)何かやってforループを使用します。

for ($i = 1; $i -le 10; $i++) 

これはかなり一般的な概念であるが、

+0

真。しかしPowerShellでは、より読みやすい形式は '1.10 | foreach {"何か$ _"} ' – Swonkie

+0

と言えば、どんな種類のプログラミングにも慣れている人なら、' for'ループを理解するでしょうが、 '1..10'ですか? – 4c74356b41

+0

私はかなり直感的です。英語に精通している人(プログラミングに精通している人よりもはるかに大きなグループ)は、その表現を直観的に理解することができます。 – Swonkie

0

をPowerShellのために固有のものではない。この

ような何かを試してみてください
$From ="user name" 
$To = "user name" 
$SMTPServer = "smtp name" 
$SMTPPort = "nrport" 

[email protected]([pscustomobject]@{subject="subject1"; body="body1"}, [pscustomobject]@{subject="subject1"; body="body2"}) 

foreach ($MailSubsject in $ListMailSubsject) 
{ 
    Send-MailMessage -From $From -to $To -Subject $MailSubsject.subject -Body $MailSubsject.body -SmtpServer $SMTPServer -UseSsl -Bcc $BCC 
} 
0

次のコードを使用できます。 "splatting"を使用してください。コードをより読みやすく、きれいにします。

1..10 | foreach-object { 
    $mail = @{ 
     From ="user name" 
     To = "user name" 
     Subject = "Email Subject" 
     Body = "hello" 
     SMTPServer = "smtp name" 
     SMTPPort = "port" 
     BCC = "username" 
     } 
    Send-MailMessage @mail 
} 
関連する問題