Powershellからメールを送信する方法

Windows 7 や Windows Server 2008 R2などでは、初期状態ではTelnetクライアントが機能としてインストールされていないため、Telnetを使ったメール送信テストが使用できない。

Windows 7 や Windows Server 2008 R2 などでは、標準でインストールされている Powershellにメール送信コマンドがあり、それを使うことで代用できる。 難点としては、エラー時のコードがわかりにくいこと、ポート番号を変えられないこと。

Powershellでメールを送信するには、Powershellを立ち上げて、 [[Send-MailMessage]] コマンド(コマンドレット)を実行する

 
Send-MailMessage 
 -To 宛先のメールアドレス 
 -From 送信元のメールアドレス 
 -SmtpServer SMTPサーバ(FQDNやIPアドレス)
 -Subject "件名をダブルクォーテーションの中に書く"
 -Body "本文をダブルクォーテーションの中に書く"

認証の無しでよい場合は、以下のようになる

 Send-MailMessage -To hogehoge@xenos.jp -From hoge@xenos.jp -SmtpServer smtpserver.xenos.jp -Subject "TEST MAIL from Powershell" -Body "This is test mail."

また認証とSSLでのアクセスが必要な場合は下記のオプションを付ける。

 -Credential ユーザ名
 -UseSsl

Telnetを使ってメールを送るのに比べたら、Powershellを使ってメールを送る方が簡単かも。 これでSMTPサーバに接続用の穴をあけたとか、FWに穴をあけたとか、 そういうことの確認が簡単にできる。

■参考

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする