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