[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[port139ml:01677] SMTP 送信部分(Re: Patch NOT Foundのカウント)
- To: port139ml@xxxxxxxxxxxxx
- Subject: [port139ml:01677] SMTP 送信部分(Re: Patch NOT Foundのカウント)
- From: Kenji Yamamoto <yamaken@xxxxxxxxxx>
- Date: Tue, 24 Dec 2002 03:02:44 +0900
山本です。
|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¤t_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