不知道用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已更新附件)