[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[port139ml:01677] SMTP 送信部分(Re: Patch NOT Foundのカウント)



山本です。

|Subject: [port139:01559] Re: Patch NOT Foundのカウント
|From: Hideaki Ihara <hideaki@xxxxxxxxxxxxx>
|Date: Tue, 03 Dec 2002 09:08:58 +0900
|Message-Id: <200212030008.AA00536@xxxxxxxxxxxxxxxxx>
|User-Agent: AL-Mail32 Version 1.12

| 'Blatj を実行してメールを送信

Windows 2000 だと CDOSYS 使えたんじゃなかったでしたっけ。IIS 入っ
ていなくても管理下のサーバでサクサク動いています。これつかって私
もログオン失敗を監視してアラート送ったりしています。

ということで、以下、単に結果を送るだけのサンプルソース。太線枠の
囲みの中です。もともとの文脈として、Hotfix Reporter を使ってバッ
チ部分を書いています。
単に Hotfix Reporter の HTML でのレポートを最終のものとして形を
合わせていますが、これにこだわる必要はないでしょう。状況に合わせ
て適宜カスタマイズすればよいと思います。

その件の詳細は:
http://www.sqlpassj.org/bbs/ml_disp.aspx?forum_id=2&current_page=1&disp_mode=4&detail_mode=1&message_id=14609

CDO for Windows 2000 を使った場合のフレームワークは:
http://www.users.gr.jp/developer/doc/cdo/cdomail2.asp

POP before SMTP かかってるサーバだとちょっとつらいかもですが、別
に IIS ではなくても SMTP サーバでも入っていれば、そのサーバの設
定次第で何とかなりそうな雰囲気。Mercury とか Xmail Server で立て
てるサーバを使う設定でも動いてますから。

上のドキュメントをはじめ、Google でサンプルは山のように見つかっ
た(^^)ので、そこらへんから切り貼りしてます。

あとは HFNETCHK 実行の近辺と subject を工夫すれば伊原さんの目的
に適ったものになるんじゃないかと思います。Windows 2000 以降なら
これで動くと思われますので、他にコンポーネントも特に追加する必要
もなく、お手軽かと。

NT4 では、動くかどうか不明ですが…(CDOSYS だから Win2K 以降かと。)

下記のサンプル、突っ込みどころ満載と思われますので、突っ込んでい
ただけましたら幸いです。_o_

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Option Explicit
'On Error Resume Next

Const cdoSendUsingMethod        = _
	"http://schemas.microsoft.com/cdo/configuration/SendUsing"
Const cdoSendUsingPort          = 2
Const cdoSMTPServer             = _
	"http://schemas.microsoft.com/cdo/configuration/smtpserver"
Const cdoSMTPServerPort         = _
	"http://schemas.microsoft.com/cdo/configuration/smtpserverport"
Const cdoSMTPConnectionTimeout  = _
	"http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"
Const cdoSMTPAuthenticate       = _
	"http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"
Const cdoBasic                  = 1
Const cdoSendUserName           = _
	"http://schemas.microsoft.com/cdo/configuration/sendusername"
Const cdoSendPassword           = _
	"http://schemas.microsoft.com/cdo/configuration/sendpassword"

Const ForReading = 1

Dim objConfig  ' As CDO.Configuration
Dim objMessage ' As CDO.Message
Dim Fields     ' As ADODB.Fields
Dim fso, WshShell, net, MsgFile1, MsgFile2, resultpath, HFpath, repE, repJ

Set fso = WScript.CreateObject("Scripting.FileSystemObject") 
Set net = Wscript.CreateObject("WScript.Network")

resultpath = "c:\Usr\Administrator\My Documents\hfnetchkrpt\"
HFpath = "C:\HFNETCHK\"

msgFile1 = HFpath & "resultEN.txt"
msgFile2 = HFpath & "resultJA.txt"

set repE = fso.OpenTextFile(msgFile1, ForReading)
set repJ = fso.OpenTextFile(msgFile2, ForReading)

Dim iMsg : Set iMsg = CreateObject("CDO.Message") 
Dim iConf : Set iConf = CreateObject("CDO.Configuration")

Dim Flds
Set Flds = iConf.Fields

With Flds
 .Item(cdoSendUsingMethod) = 2
 .Item(cdoSMTPServer) = "127.0.0.1"
 .Item(cdoSMTPServerPort) = 25
 .Item(cdoSMTPConnectionTimeout) = 30
 .Update
End With

With iMsg
' Set .Configuration = iConf
	.To = "(送信先)"
	.From = "(送信元)"
	.Subject  = "[Info] [" & net.ComputerName & "] 日次 HFSCAN 結果"
	.TextBody = "HFNETCHK による日次スキャンの結果を報告します。"&vbCRLF&"送信時刻:" &Now() &vbCRLF &"[英語版 XML 適用結果] "&vbCRLF&repE.ReadAll&vbCRLF& "&vbCRLF&"[日本語版 XML 適用結果] "&vbCRLF& repJ.ReadAll&vbCRL
 .AddAttachment resultpath & "resultsEN.html"
 .AddAttachment resultpath & "resultsJA.html"
' .AddAttachment Server.MapPath ('index.html')
 .Send
End With

Set Flds = Nothing
Set iMsg = Nothing
Set iConf = Nothing
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

以上

山本謙次 [MVP]

-- 
JWNTUG Security & IIS  ML http://www.jwntug.or.jp/index-j.html
Kenji Yamamoto, Microsoft MVP (Windows Server Security), MCP+I, MCSE (TCP/IP, IIS4, IEAK4)
mailto:routing@xxxxxxxxxxxxxxx