2020/11/07 #メールの一斉送信#2
皆様おはようございます、
#猫でもできるPowerShell(備忘録)
#メールの一斉送信#2
昨日やったメールの一斉送信のテンプレ
<# 元ネタはこちら
2020/05/21 #メールを送る
https://tptptb.hatenablog.com/entry/2020/05/21/234759
#>
$List = [宛先リスト.csv]
$ref = [添付ファイル.pdf]
$bodytmp = [本文ひな型.txt]
ipcsv $List -en default |
? {$_.'送付フラグ' -eq 1} |
ForEach-Object {
# to、cc欄は1箇所でも nullが混在すると送信エラーになるので注意
# 宛先リストのcsvに空欄があるとパイプライン変数が nullになる
#猫でもできるPowerShell(備忘録)
#メールの一斉送信#2
昨日やったメールの一斉送信のテンプレ
<# 元ネタはこちら
2020/05/21 #メールを送る
https://tptptb.hatenablog.com/entry/2020/05/21/234759
#>
$List = [宛先リスト.csv]
$ref = [添付ファイル.pdf]
$bodytmp = [本文ひな型.txt]
ipcsv $List -en default |
? {$_.'送付フラグ' -eq 1} |
ForEach-Object {
# to、cc欄は1箇所でも nullが混在すると送信エラーになるので注意
# 宛先リストのcsvに空欄があるとパイプライン変数が nullになる
$to = @()
$to += ($_.'toアドレス').split(",")
$cc = @()
$cc += ($_.'ccアドレス').split(",")
$from = [送信者アドレス]
$smtp = [メールサーバホスト名] #IPアドレスでも可
$attach0 = $ref #添付ファイル
$subject = [題名]
#本文ひな型の読み込み
$body = Get-Content $bodytmp -Raw
$body = $body.Replace('[$V0]', $_.'部署名')
$body = $body.Replace('[$V1]', $_.'担当者')
$body = $body.Replace('[$V2]', $_.'個別コンテンツ')
$encoding = 'default'
Send-MailMessage `
-TO $to -CC $cc -From $from -SmtpServer $smtp -Attachments $attach0 `
-Subject $subject -Body $body -Encoding $encoding
}
[本文ひな型.txt] には予め変数となる [$V0][$V1][$V2]という文字を埋め
込んでおき、宛先ごとに内容を差し替える事をやっています。
添付ファイル($attach0) の所も @() と += のループで複数送れるような気がしてきた・・
ではまた;
$body = $body.Replace('[$V1]', $_.'担当者')
$body = $body.Replace('[$V2]', $_.'個別コンテンツ')
$encoding = 'default'
Send-MailMessage `
-TO $to -CC $cc -From $from -SmtpServer $smtp -Attachments $attach0 `
-Subject $subject -Body $body -Encoding $encoding
}
[本文ひな型.txt] には予め変数となる [$V0][$V1][$V2]という文字を埋め
込んでおき、宛先ごとに内容を差し替える事をやっています。
添付ファイル($attach0) の所も @() と += のループで複数送れるような気がしてきた・・
ではまた;