前置き
メール通知の設定値もらったけど実際これ使えんの?って確認を簡単にやりたかった。
そしたらPowerShellを使えば簡単にできるよってヒントをもらったのでやってみた。
早速実行
1. 認証情報の入力
今回SMTPサーバに認証が必要だったので、認証情報を先に指定する。
あとで使用するメール送信コマンドで使えるのが、PSCredentialオブジェクトとかなんとからしいのでGet-Credential
を使う。
PS C:\> $Credentials = Get-Credential
コマンド パイプライン位置 1 のコマンドレット Get-Credential
次のパラメーターに値を指定してください:
Credential
これを実行するとなんか入力できそうなウィンドウが出てくるので、認証情報をいれてみる。
2. メール送信
メール送信には、Send-MailMessage
を使う
PS C:\> Send-MailMessage -To (自分メールアドレス) -Subject test -From test@test.jp -SmtpServer (SMTPサーバ) -Port (ポート番号) -Credential $Credentials
今回は、本文無しのメールを送信した。
-
-To
- 送信したいメールアドレスを指定 -
-Subject
- メールの件名を入力 -
-From
- 差出人メールアドレス(ここは何でもいい) -
SmtpServer
- SMTPサーバを指定 -
Port
- ポート番号を指定 -
Credential
- 認証情報(さっき作ったやつ)
本文を入力したいときは-Body
と-Encoding
でUTF-8を指定するといいかも。
でも普通にUTF-8を指定するとエラーになるので、([System.Text.Encoding]::UTF8)
を指定する。
あとは自分のメールボックスをみて確認するだけ。これは便利。
ちなみに
相手方(今回はSMTPサーバ)のポートが空いてるか確認したくなったらこれを使うと良い。
Test-NetConnection (SMTPサーバ) -port (ポート番号)
これまた便利。