PowerShellスクリプトでメールを送信する - 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の企画・分析担当。口が悪いのでなるべく寡黙でありたいと思っている。が、ついついしゃべってしまい、毎回墓穴を掘っている。
最終更新日: 2023-12-08
作成日: 2016-05-11
iPentec all rights reserverd.