PowerShellでメール送信

PowerShellではVer2.0から標準的なコマンドで
SMTPメールを送信することができます。

Send-MailMessage
※ 使用頻度の高いオプションのみ記載
-Attachments : 添付ファイルを指定
-Bcc : Bccのメールアドレスを指定
-Body : 本文内容
-Cc : Ccのメールアドレスを指定
-Encoding : 本文と件名に使用されるエンコード形式を指定
-From : 送信元メールアドレスを指定
-SmtpServer : メールを送信するSMTPサーバーを指定
-Subject : メッセージの件名を指定
-To : 宛先のメールアドレスを指定

使用例としては、以下のような形です。

Send-MailMessage -From admin@example.co.jp -To test@example.co.jp -Subject TestMessage -Body "Hello" -SmtpServer "smtpserver.example.co.jp";

日本語が含まれるメールを送信する場合は、Encodingオプションを指定しないと文字化けする可能性が高いです。
基本的にUTF8を指定すれば大概は大丈夫なイメージです。

Send-MailMessage -From admin@example.co.jp -To test@example.co.jp -Subject TestMessage -Body "ハロー" -SmtpServer "smtpserver.example.co.jp" -Encoding UTF8;

宛先やCcなどに複数のメールアドレスを指定する場合は、配列形式にして渡してあげれば大丈夫です。

$To = @("test@example.co.jp","test2@example.co.jp")
Send-MailMessage -From admin@example.co.jp -To $To -Subject TestMessage -Body "Hello" -SmtpServer "smtpserver.example.co.jp";

作業で時間を要するスクリプトを実行することも多いため、
スクリプトが終了したときに携帯電話へ完了メッセージを送るなどして活用しています。
送信に活用できるSMTPサーバーがある環境ならば、是非活用してください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です