PowerShellスクリプトでメールを送信する
PowerShellスクリプトでメールを送信するコードを紹介します。
概要
PowerShellでメールを送信する場合には、"Send-MailMessage"コマンドレットを利用します。
"Send-MailMessage"コマンドレットのオプションやパラメーターに関しては
https://technet.microsoft.com/ja-jp/library/hh849925.aspxのページを参照してください。
プログラム
コード
下記のコードを記述します。
$MailSv
変数はメール送信するSMTPサーバーのホスト名に置き換えてください。
$MailSv = "(メールサーバーのホスト名)"
$Port = 587
$Encode = "UTF8"
$address = "(送信先メールアドレス)"
$Subject = "テストメール"
$Body = @"
テストメールです。
てすと
てすとん
"@
$pwd = "(SMTP-Authのパスワード)" | ConvertTo-SecureString -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential $address,$pwd
Send-MailMessage `
-To $address `
-From $address `
-SmtpServer $MailSv `
-Credential $cred `
-Encoding $Encode `
-Port $Port `
-Subject $Subject `
-Body $Body
解説
"Send-MailMessage"コマンドレットを利用してメールを送信するシンプルな実装です。
実行結果
PowerShellスクリプトを実行します。
正常に実行できるとエラーメッセージなどは表示されず、コマンドプロンプトに戻ります。
メール送信先のアドレスを確認すると、メールが受信できます。件名やメール内容が、PowerShellスクリプトで記述した内容と同じものであることが確認できます。
著者
iPentecの企画・分析担当。口が悪いのでなるべく寡黙でありたいと思っている。が、ついついしゃべってしまい、毎回墓穴を掘っている。