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スクリプトでメールを送信する:画像1

メール送信先のアドレスを確認すると、メールが受信できます。件名やメール内容が、PowerShellスクリプトで記述した内容と同じものであることが確認できます。
PowerShellスクリプトでメールを送信する:画像2

AuthorPortraitAlt
著者
iPentecの企画・分析担当。口が悪いのでなるべく寡黙でありたいと思っている。が、ついついしゃべってしまい、毎回墓穴を掘っている。
作成日: 2016-05-11
Copyright © 1995–2025 iPentec all rights reserverd.