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に穴をあけたとか、 そういうことの確認が簡単にできる。
■参考