| 网站首页 | 新闻中心 | 系统安全 | 网络安全 | 安全技术 | 下载中心 | 
课件制作网.
收藏本站
设为首页
安全365
如何使用 CDO 将一个文件附加到电子邮件中发送出去?
如何使用 CDO 将一个文件附加到电子邮件中发送出去?
作者:佚名 文章来源:不详 点击数: 更新时间:2007-1-23 19:53:11
问:

嗨,Scripting Guy!我知道如何使用 CDO 来发送电子邮件,但是如何在电子邮件中加入附件呢?

-- RT

答:

嗨,RT。顺便说一下,感谢您提出这个问题。至少有一名 Scripting Guys 成员几乎整个感恩节周末都在吃东西,而在不吃东西的那一点点时间里,他与一大群比他更高大但年轻的多的侄子外甥们一起玩橄榄球。说实话,这位 Scripting Guy 成员希望能够顺利地恢复工作状态,而这个问题正是一个非常好的开端。

对于不熟悉 CDO(Collaboration Data Objects 的简称)的人而言,这项技术提供了一条通过脚本发送电子邮件的途径。只要网络中有 SMTP 服务器,就可以使用类似下方所示的代码创建并发送电子邮件:

Set objEmail = CreateObject("CDO.Message")



objEmail.From = "helpdesk@fabrikam.com"

objEmail.To = "administrator@fabrikam.com"

objEmail.Subject = "Server down" 

objEmail.Textbody = "Server1 is no longer accessible over the network."



objEmail.Configuration.Fields.Item _

    ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

objEmail.Configuration.Fields.Item _

    ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _

        "smtpmailer" 

objEmail.Configuration.Fields.Item _

    ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25

objEmail.Configuration.Fields.Update



objEmail.Send

今天我们不会详细介绍这个脚本;如需快速了解此处所用的各个属性,请参见Microsoft Windows 2000 脚本指南. 可能不需要费多大力气,您就可以设好 FromToSubjectTextbody 属性。URI(比如:http://schemas.microsoft.com/cdo/configuration/sendusing)属于样本代码,通常可以保留不动;在多数情况下,只需更改 smtpserver。在我们的示例代码中,我们已经引用了一台 SMTP 邮件服务器(我们称之为 smtpmailer);您将需要把它替换为您的 SMTP 邮件服务器的名称。

顺便说一下,这些 URI 关联到许多人:他们疑惑为何需要连接到 Microsoft 来发送电子邮件。事实是,不会真的连接到 Microsoft;这些 URI 只是属性而已。为何要怎样引用呢?老实说,我们不清楚。但是别担心:您的邮件不会通过 Microsoft 进行路由,而且这里的人也不会阅读您的信件。相信我们,我们自己的电子邮件已经让我们够头疼了,没有时间去读别人的邮件。

那么,如何在电子邮件中加入附件呢?只要再加一行代码就行了,比如这行代码(将文件 C:/Scripts/Output.txt 附加到电子邮件中):

objEmail.AddAttachment "C:/Scripts/Output.txt"

就是这样;在脚本中加入这行代码,就可以得到附件了。整个脚本的内容将为:

Set objEmail = CreateObject("CDO.Message")



objEmail.From = "helpdesk@fabrikam.com"

objEmail.To = "administrator@fabrikam.com"

objEmail.Subject = "Server down" 

objEmail.Textbody = "Server1 is no longer accessible over the network."

objEmail.AddAttachment "C:/Scripts/Output.txt"



objEmail.Configuration.Fields.Item _

    ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

objEmail.Configuration.Fields.Item _

    ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _

        "smtpmailer" 

objEmail.Configuration.Fields.Item _

    ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25

objEmail.Configuration.Fields.Update



objEmail.Send

请注意,有几个人问过我们,如果 SMTP 服务器要求身份验证,该如何发送电子邮件呢?说实话,我们很难回答这个问题,因为(由于各种原因),我们无法测试这种情景。但是,可以在脚本中添加用户名和密码:

objEmail.Configuration.Fields.Item _

    ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "fabrikam/kenmyer"

objEmail.Configuration.Fields.Item _ 

    ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "&gr54#wgha"

上面的代码将让您作为 fabrikam/kenmyer 登录 SMTP 服务器,密码为 &gr54#wgha。请注意,这样确实将以明文形式发送用户名和密码。因此,您可能不想使用管理员帐户发送电子邮件。那么,创建一个有权发送电子邮件的用户帐户,并使用该帐户进行登录。如需更多信息,请参见 MSDN 上的官方CDO 文档

【转自世纪安全网 http://www.21safe.com】
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
     
     
     
    CSO们如何应对新技术的安
    普通企业如何应对黑客攻
    企业该如何防范由VoIP引
    浅谈IT如何实现企业的应
    黑客与正规企业是如何串
    如何无限制申请Gmail 2.
    企业如何避免人为因素的
    社会工程学:如何利用黑客
    使用计算机应注意的道德
    免安装使用最新版 IE7 B

    Copyright © 2006-2008 www.anquan365.com 安全365
    建议使用1024*768分辨率及第三方浏览器对本站进行浏览