频道直达 - 学院 - 下载 - 交易 - 特效 - 字库 - 手册 -排名-工具- 繁體
网页教学网站开发 设为首页
加入收藏
联系我们
建站搜索: 常用广告代码   用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站开发设计技术教程 -> 网站设计相关 -> 在Windows桌面上使用WSH接收邮件

在Windows桌面上使用WSH接收邮件

作者:佚名  来源:本站原创  发布时间:2005-7-18 16:24:48  发布人:acx

减小字体 增大字体

公司的销售管理人员日常想要接收订单在$10,000元以上的电子邮件,同时也很愿意感谢来信订购的用户。电子邮件的主体要包括所有必要的信息,因此就没有必要访问公司客户/服务器程序。第一步是近可能地委派数据库服务器的数据。在这里的例子中,我选择了随SQL Server 7.0安装后随带的Northwind数据库。

原文出处:http://www.15seconds.com/issue/991007.htm

   我决定在Northwind数据库中建立一个视图,它将提供所需要的一切。启动SQL Server Enterprise管理器,检查一下Northwind数据库下的视图列表,Order Subtotals视图就在眼前,它计算所有放置在Northwind数据库中的定单总和。我决定在新视图10K_Order_Qry中引用这个视图,如下:

CREATE VIEW dbo.[10K_Order_Qry]
AS
SELECT [order subtotals].OrderID, CONVERT(varchar(15),
[order subtotals].Subtotal) AS ''Subtotal'', CONVERT(char(10),
Orders.OrderDate, 110) AS ''OrderDate'',
Customers.CompanyName, Customers.ContactName,
Customers.Country, Customers.Phone
FROM [order subtotals], Orders, Customers
WHERE [order subtotals].OrderID = Orders.OrderID AND
Orders.CustomerID = Customers.CustomerID AND
subtotal >= 10000

-- Below lines can be switched in order to look for today''s sales over $10,000
-- (comment the next line, and uncomment the second line)

AND OrderDate >= ''02-01-1998'' AND OrderDate <= ''02-28-1998''
--AND OrderDate = convert(char(10),getdate(),110)
   注意:在视图中引用另外一个视图不是一个好的方法。但是,这里对此不做详细地讨论。

   为了不修改Northwind中的数据,并且能在邮件中显示,请回顾这个新视图“10K_Order_Qry”的最后2行。在其上的注释行解释了最后的目的。我要强调指出的是编写一个存储过程能达到更好的性能效果,因为存储过程能被编译。对于SQL Server预先设定一个执行计划,将大大地减少计划执行中的周折。

   为了验证输出的报告所需要的所有字段是否准备好,我们可以在SQL Server Query Analyzer中执行这个视图进行测试。
我们大多数人,在相当多的时候,都在MS-DOS批处理文件中使用过脚本。融入Windows 98、Internet Information Server 4.0、Windows NT Workstation 2000和Windows NT Server 2000中的微软Windows scripting Host是一个独立语言的脚本引擎。Visual Basic和Javascript脚本引擎也被包含在Windows scripting Host中。

   本质上,Windows scripting Host提供给我们在Windows桌面上运行脚本的功能,或者在命令控制台执行,而不需要在HTML文档或者ASP中执行。这是个强大的功能,并且能由此更深地研究,比如编写登录脚本、管理脚本或者机器自动处理的工作。

   现在准备编写脚本来建立一个报告,并且将它发送电子邮件给服务商管理者。我决定以Visual Basic scripting语言编写这个脚本,可以使用任何文字编辑器来创建它。唯一的要求是以“vbs”扩展名来保存文件,比如
“Myscript.vbs”。如果安装了Windows NT Option Pack 4,就存在了脚本调试器MSSCRDBG.EXE,它能被用做创建和调试脚本。它远远强于Notepad!

Dim objSendMail
Dim strTo, strFrom
Dim strSubject, strBody
Dim shipUic

'' mail constants
Const CdoBodyFormatType = 0 '' Body property is HTML
Const CdoMailFormatType = 0 '' NewMail object is in MIME format

Const CdoNormal = 1 '' Normal importance (default)

strFrom = "admin@northwind.com" '' System administrator or DBA mail account
strTo =" manager@northwind.com" '' Recipient mail account - i.e. Sales Manager
strSubject = "Sales over $10,000" '' Mail subject

'' Call function to build the HTML mail body
strBody = MailBody()

'' The following section creates the E-mail object and sends the mail
Set objSendMail = CreateObject("CDONTS.NewMail")

objSendMail.From = strFrom
objSendMail.To = strTo
objSendMail.Subject = strSubject
objSendMail.Body = strBody
objSendMail.BodyFormat = CdoBodyFormatType
objSendMail.MailFormat = CdoMailFormatType
objSendMail.Importance = CdoNormal

objSendMail.Send

Set objSendMail = Nothing

'' **********************************************************************************

Function MailBody()

Dim oConn
Dim oCmd
Dim oRs
Dim tmpBody
set oConn = CreateObject("ADODB.Connection")
oConn.Open("DATABASE=Northwind;DSN=Northwind;UID=sa;Password=;")
set oCmd = CreateObject("ADODB.Command")
oCmd.ActiveConnection = oConn
oCmd.CommandText = "select * from Northwind.dbo.[10k_order_qry] order by subtotal desc"
oCmd.CommandType = 1
oCmd.Prepared = True
set oRs = oCmd.Execute

oRs.moveFirst
tmpBody = "10K Customer Report"
tmpBody = tmpBody & "As of " & Date() & ""
tmpBody = tmpBody & ""
tmpBody = tmpBody & " ORDER ID "
tmpBody = tmpBody & " SUBTOTAL "
tmpBody = tmpBody & " COMPANY "
tmpBody = tmpBody & " CONTACT "
tmpBody = tmpBody & " COUNTRY "
tmpBody = tmpBody & " PHONE "

while not oRs.EOF
tmpBody = tmpBody & " " & oRs.Fields("OrderID") & " "
tmpBody = tmpBody & " " & "$" & oRs.Fields("Subtotal") & " "
tmpBody = tmpBody & " " & oRs.Fields("CompanyName") & " "
tmpBody = tmpBody & " " & oRs.Fields("ContactName") & " "
tmpBody = tmpBody & " " & oRs.Fields("Country") & " "
tmpBody = tmpBody & " " & oRs.Fields("Phone") & " "
oRs.moveNext
wend

tmpBody = tmpBody & " "

MailBody = tmpBody

set oRs = nothing
set oCmd = nothing
set oConn = nothing

End Function
这里插入了足够的注释用以阐明脚本的含义,但对于那些不熟悉HTML的用户来说,下面是一个简单的标记解释对应表,我在脚本中使用了它们来建立邮件(报告)的主体:

   标记 含义
?lt;/H2> Header Tag Size 2
?lt;/FONT> Font Color "Red"
?lt;/B> Bold Text
?lt;/TABLE> Table Format

?lt;/TR> Table Row
?lt;/TH> Header Cell
?lt;/TD> Data Cell

   现在让我们在Windows scripting Host中运行编写的Visual Basic脚本。在Windows的资源浏览器Explorer中,用鼠标右键单击Myscript.vbs,选择“属性”,点击“script”功能页面。

  

   检查“Stop script after specified number of seconds”复选框,设置足够的时间来让脚本运行完成(默认是10秒钟)。按下OK按钮,新的脚本文件就创建了,但是名字改变为Myscript.WSH。WSH文件的内容与古老的“ini”文件类似:

[scriptFile]
Path=Myscript.vbs

[Options]
Timeout=30
DisplayLogo=1
BatchMode=0

   假设没有错误,在双击Myscript.WSH文件后,邮件接收者将收到一封邮件,内容主体是报告,如下:

   10K Customer Report

   As of 9/13/99

   ORDER ID SUBTOTAL COMPANY CONTACT COUNTRY PHONE
10865 $16387.50 QUICK-Stop Hors t Kloss Germany 0372-035188
10889 $11380.00 Rattlesnake Canyon Grocery Paula Wilson USA (505) 555-5939
10897 $10835.24 Hungry Owl All-Night Grocers Patricia McKenna Ireland 2967 542

   现在可以确认脚本工作正常,最后一步是设置每日的定时执行,这里使用了Windows计划执行程序来完成定时任务的设置。启动Windows计划执行程序,选择Edit菜单,选择Add,输入要执行的脚本名字,设置执行的时间:

   按“OK”按钮,完成设置,这条项目显示如下:
   Windows scripting Host,CDONTS以及计划执行程序有广泛的应用面,这里只是列举了一个实际的应用。

将本文收藏到QQ书签与更多好友分享
[打 印]
[] [返回上一页] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 要10G免费网络硬盘的请进..
· 通过google 赶快来赚美金..
· 注册码大全十
· 头像-qq头像(qq新头像)4..
· 让你轻松架设FTP服务器1..
· 注册码大全三
· 梦幻背景图片7
· 卡通动物图片6
· 网页制作素材-按钮素材2..
· 让你轻松架设FTP服务器5..
· 风景图片8
· 注册码大全九
· 让你轻松架设FTP服务器2..
关注此文读者还看过
· 使用Winsock控件,实现网..
· 临汾首届互联网站长交流..
· MTV制作经验
· 用排序串字段实现树状结..
· 关于Adodb.Stream的使用..
· SYNNEX 投资中国万网 获..
· PHP基础:PHP4和PHP5的配..
· JSP语法(2)——隐藏注..
· Photoshop快速制作单色非..
· "非常真人"漫画网上速红..
· 日历类
· PHP的历史和优缺点
· Photoshop调色教程:怀旧..
· Photoshop精彩实例——制..
· 如何突出关键词
· 用Photoshop制作奇幻球体..
相关文章
· 在Windows下升级MySQL的详细..
· 怎么样在Windows上安装多个..
· 在Windows Vista系统..
· 在windowsXP系统下安装风讯..
· 在Win 2000中使用MSN..
· 在Win 2000中使用MSN..
· Resin在Windows系统下的安装..
· PHP+Apache在Win9X配置安装..
· PHP4.04在win98下的安装
· 在Windows2000ADV下配置Apa..
· PHP 在Windows 2003 Enterp..
· PHPlet在Windows下的安装
· 在WIN平台上让你的 A..
· 使用php+xslt在windows平台..
· 在Windows版的PHP中使用ADO..
· 在WIN98下安装PHP4+ PERSON..
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
粤ICP备05092265号