LoginSignup
4
13

More than 3 years have passed since last update.

PowerShell 2行でメール送信 (SMTP認証)

Posted at

前置き

メール通知の設定値もらったけど実際これ使えんの?って確認を簡単にやりたかった。
そしたら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 (ポート番号)

これまた便利。

4
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
13