★[IIS]SMTP を利用してコマンド プロンプトで電子メールを送る Microsoft(R) Internet Information Server version 4.0(以下 IIS) Microsoft(R) Internet Information Services version 5.0(以下 IIS) 概要 Windows NT Option Pack (NTOP) には、Internet Information Server (IIS) 上で動作する SMTP 配信プロセス専用のコンポーネントが含まれています。 また、Windows スクリプティング ホスト (WSH) も Option Pack には含まれています。 Windows スクリプティング ホストは、VBScript (VBS) や JScript (JS) などの 強力なスクリプト言語を利用する事で、簡単、しかも柔軟性のあるスクリプト環境を提供します。 SMTP サービスと WSH を使用することで、コマンドラインから電子メールを送ることができます。 詳細 インストールされる SMTP サービスと共に、"CDONTS.NewMail" というコンポーネントが システムに追加されます。このコンポーネントを使用することで、 数行のコードで電子メールを送ることができます。 以下の例は、VBS と WSH コマンドラインから電子メールを送信する方法を示しています。 以下のコードを、"SENDMAIL.VBS" という名前で保存し、コマンドプロンプトを起動します。 そして、以下のコマンドを入力します。 CSCRIPT.EXE SENDMAIL.VBS -? このコマンドは、スクリプトを使うためのヘルプ表示させます。 このスクリプトは、バッチファイルの中からや、または、パフォーマンスモニタから 警告のメールを送ったりすることができます。 以下の VBS コードを "SENDMAIL.VBS" として保存します。 '-------------------------------------------------- ' ' Sends email from the local SMTP service using CDONTS objects ' ' Usage: ' sendmail -t -f -s "" -b "" ' sendmail [-help|-?] ' '-------------------------------------------------- Option Explicit On Error Resume Next Dim objSendMail, oArgs, ArgNum Dim strTo, strFrom, strSubject, strBody Set oArgs = WScript.Arguments ArgNum = 0 While ArgNum < oArgs.Count Select Case LCase(oArgs(ArgNum)) Case "-to","-t": ArgNum = ArgNum + 1 strTo = oArgs(ArgNum) Case "-from","-f": ArgNum = ArgNum + 1 strFrom = oArgs(ArgNum) Case "-subject","-s": ArgNum = ArgNum + 1 strSubject = oArgs(ArgNum) Case "-body","-b": ArgNum = ArgNum + 1 strBody = oArgs(ArgNum) Case "-help","-?": Call DisplayUsage Case Else: Call DisplayUsage End Select ArgNum = ArgNum + 1 Wend If oArgs.Count=0 Or strTo="" Or strFrom="" Or _ strSubject="" Or strBody="" Then Call DisplayUsage Else Set objSendMail = CreateObject("CDONTS.NewMail") objSendMail.From = strFrom objSendMail.To = strTo objSendMail.Subject = strSubject objSendMail.Body = strBody objSendMail.Send Set objSendMail = Nothing End If ' Display the usage for this script Sub DisplayUsage WScript.Echo "Usage:" WScript.Echo " sendmail -t -f -s " & _ Chr(34) & "" & Chr(34) & " -b " & Chr(34) & _ "" & Chr(34) WScript.Echo " sendmail [-help|-?]" WScript.Echo "" WSCript.Quit End Sub 補足 このサンプル スクリプトは、IIS 5.0 環境下でも使用することができます。