Power Shellでメール送信
2020年7月14日
Power Shellでメール送信をするには、
Send-MailMessage
を使えばよい、、というところまではネットで検索すればすぐに見つかったものの、うまくまとまっている情報が見つけられず、試行錯誤した結果、いい感じのfunctionにまとまったので、参考までにのせておきます。
##メール送信関数
function SendMail(
$MailFrom, # 送信元
$MailTo, # 宛先
$Subject, # タイトル
$Body, # 本文
$AttachFilePath # 添付ファイル
){
$SmtpSvr = "mail.xxxx.com"
$SmtpPort = "587"
$AuthUser = "sample"
$AuthPwd = "samplepass"
$Password = ConvertTo-SecureString $AuthPwd -AsPlainText -Force
$Credential = New-Object System.Management.Automation.PSCredential $AuthUser, $Password
$CrLf = "`r`n"
if ($Body.Length -eq 1){
$BodyCr = $Body
} else {
$BodyCr = ""
foreach ($Msg in $Body){
$BodyCr += $Msg + $CrLf
}
}
Send-MailMessage -To $MailTo `
-From $MailFrom `
-Subject $Subject `
-Body $BodyCr `
-Attachments $AttachFilePath `
-SmtpServer $SmtpSvr `
-Port $SmtpPort `
-Credential $Credential `
-Encoding ([System.Text.Encoding]::UTF8)
}
PowerShell,SEPower Shell,Send-MailMessage
Posted by Remi Papa
関連記事

【Zabbix】Windows Updateの有無を監視
Zabbixで監視対象のWindows ServerにWindows Updat ...

【PowerShell】Start-Processでメール送信画面を起動
背景 PowerShellのスクリプトの中からメールを送るだけであれば、Send ...

AD環境でログオン/ログオフ時間を収集
よくある話かとは思いますが、Active Directory 環境で、各パソコン ...

【PowerShellでGUI 8】ProgressBar
ものすごく久々の投稿になってしまいました。PowerShellで作成するWind ...

【PowerShell】GPOのリンクの一覧をCSV出力
久々にSE系の話題 Active DirectoryのGPOについて、修正する前 ...