不知道用RTX的人多不多...反正我們公司一直在用,,,,並使用了官網提供的RTX免費消息記錄插件.....每天記錄RTX聊天內容並保存爲一個TXT文檔,最近想着統一的收回到郵箱來統計,於是找了找相關的資料.寫了一個自己使用的VBS腳本.
腳本核心函數就代碼:
- Function Send_mail(You_Account,You_Password,Send_Email,Send_Email2,Send_Topic,Send_Body,Send_Attachment)
- 'code by NetPatch
- 'VBS發送郵件參數說明
- 'You_Account:你的郵件帳號
- 'You_Password:你的郵件密碼
- 'Send_Email: 主要郵件地址
- 'Send_Email2: 備用郵件地址
- 'Send_Topic: 郵件主題
- 'Send_Body: 郵件內容
- 'Send_Attachment:郵件附件
- You_ID=Split(You_Account, "@", -1, vbTextCompare)
- '帳號和服務器分離
- MS_Space = "http://schemas.microsoft.com/cdo/configuration/"
- '這個是必須要的,不過可以放心的事,不會通過微軟發送郵件
- Set Email = CreateObject("CDO.Message")
- Email.From = You_Account
- '這個一定要和發送郵件的帳號一樣
- Email.To = Send_Email '主要郵件地址
- If Send_Email2 <> "" Then
- Email.CC = Send_Email2 '備用郵件地址
- End If
- Email.Subject = Send_Topic '郵件主題
- Email.Textbody = Send_Body '郵件內容
- If Send_Attachment <> "" Then
- Email.AddAttachment Send_Attachment '郵件附件
- End If
- With Email.Configuration.Fields
- .Item(MS_Space&"sendusing") = 2 '發信端口
- .Item(MS_Space&"smtpserver") = "smtp."&You_ID(1) 'SMTP服務器地址
- .Item(MS_Space&"smtpserverport") = 25 'SMTP服務器端口
- .Item(MS_Space&"smtpauthenticate") = 1 'cdobasec
- .Item(MS_Space&"sendusername") = You_ID(0) '你的郵件帳號
- .Item(MS_Space&"sendpassword") = You_Password '你的郵件密碼
- .Update
- End With
- Email.Send
- '發送郵件
- Set Email=Nothing
- '關閉組件
- Send_Mail=True
- '如果沒有任何錯誤信息,則表示發送成功,否則發送失敗
- If Err Then
- Err.Clear
- Send_Mail=False
- End If
- End Function
其實核心代碼就使用了CDO.Message,所以只要熟悉CDO.Message對象就查不多能理解函數的功能,並能進行相應的更改了.
我的腳本的功能爲三部分:1.獲取最近更新的RTX記錄文檔.2.對VBS腳本執行做一個簡單的日誌記錄.3.通過判斷處理好郵件內容並進行發送
圖1:RTX記錄圖
圖2.運行腳本後的日誌記錄:
圖3.發送的郵件內容
OK,,大功告成,
不過我這裏使用的日誌 和臨時文件路徑爲用戶的文檔..因爲考慮 的權限問題,但也給自己增加不少麻煩,因爲對於有空格的路徑,,,有一點小麻煩...
此腳本是讀取最新的文件做爲附件的,如果要發送文件夾,,,那麼可以使用7Z.EXE,提供的命令行進行壓縮,然後做爲附件發送..
此腳本在WIN7 WIN2003中測試通過..
------------------------------------2010-08-19補充-------------------------------------------------------------------------
上面的腳本是獲取的最新的單個文件,做爲附件發送的.
我考慮到有些時候是每次生成的是一個文件夾(包含N多內容 ),,,,於是我想到了,,獲取 最新的文件夾名,並且壓縮成包,再做爲附件發送..
我更新的VBS版本中,,,使用到了7Z.EXE,通過7Z.EXE命令行,,,進行壓縮
明天 再附上VBS文件(2010-8-20已更新附件)