论文部分内容阅读
摘 要:在Authorware中有一个发送E-mail的知识对象可用来发送电子邮件,但是它不支持具有用户认证功能的邮件服务器,而现实中像网易、新浪、搜狐之类的邮件服务器在发送邮件时一般都需要输入用户名和密码来认证用户的真实身份。因此,Authorware中的发送E-mail知识对象实际上并没有多大实用价值。本文主要阐述在Authorware中,如何利用ActiveX控件实现具有用户认证功能的且可以带附件的邮件发送程序。
关键词:Authorware 发送E-mail知识对象 ActiveX控件 用户认证 邮件发送 邮件附件
中图分类号: TP319文献标识码:B文章编号:1673-8454(2007)11-0083-03
一、引言
Authorware作为多媒体课件制作领域中的一款非常好的软件工具,近年来得到了广泛应用。在Authorware中有一个发送E-mail的知识对象可用来发送电子邮件,但是它不支持具有用户认证功能的邮件服务器,而现实中像网易、新浪、搜狐之类的邮件服务器在发送邮件时一般都需要输入用户名和密码来认证用户的真实身份。因此,Authorware中的发送E-mail知识对象实际上并没有多大实用价值。为了弥补Authorware的发送E-mail知识对象不能发送具有用户认证功能的电子邮件的不足,本文主要阐述在Authorware中,如何利用ActiveX控件实现具有用户认证功能的且可以带附件的邮件发送程序。
二、用MAPI控件实现具有用户认证功能的带附件的邮件发送程序
MAPI(Messaging Application Pro-grmming Interface)是消息处理应用程序接口,微软和其他一些公司均有开发。MAPI控件可用于创建具有电子邮件功能的应用程序。MAPI 控件包含MAPISession和MAPIMessage两个控件,前一个是会话控件,后一个是消息控件。下面通过实例说明在Authorware中,如何用MAPI控件实现具有用户认证功能的带附件的邮件发送程序。
步骤1,新建一个Authorware文件,通过“插入→控件→ActiveX…”菜单命令将MAPISession控件和MAPIMessage控件依次放在流程线上,然后将一个计算图标拖放到流程线上,并命名为“发送带附件邮件”,程序流程图如图1所示。
步骤3,打开“发送带附件邮件”计算图标,在其中编写如下程序代码:
SetSpriteProperty(@"sdinf1",#SMTPServer,"smtp.163.com")
SetSpriteProperty(@"sdinf1",#SMTPPort,25)
SetSpriteProperty(@"sdinf1",#Subject,"测试")
SetSpriteProperty(@"sdinf1",#From,"xjzhang@163.com")
SetSpriteProperty(@"sdinf1",#To,"james@sina.com")
SetSpriteProperty(@"sdinf1",#DisplayName,"xjzhag")
SetSpriteProperty(@"sdinf1",#NeedAuth,TRUE)
SetSpriteProperty(@"sdinf1",#UserName,"xjzhang")
SetSpriteProperty(@"sdinf1",#Password,"12345678")
SetSpriteProperty(@"sdinf1",#Body,"这是一次测试!")
SetSpriteProperty(@"sdinf1",#IsSilence,FALSE)
SetSpriteProperty(@"sdinf1",#Append1,FileLocation^"审稿意见.doc")
CallSprite(@"sdinf1",#SendMail)
利用第三方控件如sdinf控件发送邮件的优点是:首先,sdinf控件容易获得。从网上直接下载便可获得。其次,应用sdinf控件编写的程序不太复杂,人们容易掌握。另外,应用sdinf控件发送邮件时不需要像Outlook Express之类的软件支持。但是,在Authorware中用sdinf控件发送邮件也有一个明显的缺点:从上面的程序代码中不难发现,发件人的密码是可以看得见的,而实际上发件人的密码在一般情况下是不能让别人看见的,通常显示为多个星号如“********”。
四、用自己编写的ActiveX控件实现具有用户认证功能的带附件的邮件发送程序
如果不想使用MAPI控件,同时又要解决第三方提供的ActiveX控件如sdinf控件在Authorware中应用的不足(如发件人的密码能看得见),就可以自己编写ActiveX控件实现想要的功能。因为编写ActiveX控件有一定的难度,所以我们不用从零开始,只要在sdinf控件基础上增加我们需要的功能(如发件人的密码不被显示)即可。下面我们先利用sdinf控件在Visual Basic中制作自己的ActiveX控件。
步骤1,新建一个VB ActiveX控件工程,将CommDialog控件和sdinf控件引入进来,控件界面如图3所示。
步骤2,编写与图3相对应的程序代码如下:
Private Sub btnBrowse1_Click()
cd1.Filter = "所有文件|*.*"
cd1.FileName = ""
cd1.ShowOpen
If cd1.FileName = "" Then Exit Sub
txtAppend1.Text = cd1.FileName
End Sub
Private Sub cmdSend_Click()
Sdinf1.SMTPServer = cmbSMTPServer.Text
Sdinf1.SMTPPort = txtSMTPPort.Text
Sdinf1.Subject = txtSubject.Text
Sdinf1.From = txtFrom.Text
Sdinf1.To = txtTo.Text
Sdinf1.DisplayName = txtDisplayName.Text
Sdinf1.NeedAuth = chkNeedAuth.Value
Sdinf1.UserName = txtUserName.Text
Sdinf1.Password = txtPassword.Text
Sdinf1.Body = txtBody.Text
Sdinf1.IsSilence = False
Sdinf1.Append1 = txtAppend1.Text
Sdinf1.SendMail
End Sub
Private Sub cmdExit_Click()
Unload Me
End Sub
步骤3,将上面编好的控件存为Mail.ocx。
步骤4,将Mail.ocx文件拷贝到c:\windows\system32(假设操作系统是Windows XP)目录中,并通过运行“regsvr32.exe Mail.ocx”来注册此控件。
接下来,我们通过实例说明在Authorware中,如何用自己编写的Mail控件实现具有用户认证功能的带附件的邮件发送程序。
新建一个Authorware文件,通过“插入→控件→ActiveX…”菜单命令将Mail控件放在流程线上,命名为“SendMail”,然后直接运行即可。
五、结束语
本文介绍了三种使用ActiveX控件在Authorware中发送具有用户认证功能的带附件的邮件的方法和实例。其中第一种是使用MAPI控件,第二种是使用第三方ActiveX控件如sdinf控件,第三种是使用自己编写的控件如Mail控件。综合来看,自己编写的控件优势最为明显,因为它不需要编写任何程序代码,也不需要像Outlook Express之类的客户端软件的支持,输入的发件人的密码也不显示,而且界面很友好,是一种值得推广的方法。
关键词:Authorware 发送E-mail知识对象 ActiveX控件 用户认证 邮件发送 邮件附件
中图分类号: TP319文献标识码:B文章编号:1673-8454(2007)11-0083-03
一、引言
Authorware作为多媒体课件制作领域中的一款非常好的软件工具,近年来得到了广泛应用。在Authorware中有一个发送E-mail的知识对象可用来发送电子邮件,但是它不支持具有用户认证功能的邮件服务器,而现实中像网易、新浪、搜狐之类的邮件服务器在发送邮件时一般都需要输入用户名和密码来认证用户的真实身份。因此,Authorware中的发送E-mail知识对象实际上并没有多大实用价值。为了弥补Authorware的发送E-mail知识对象不能发送具有用户认证功能的电子邮件的不足,本文主要阐述在Authorware中,如何利用ActiveX控件实现具有用户认证功能的且可以带附件的邮件发送程序。
二、用MAPI控件实现具有用户认证功能的带附件的邮件发送程序
MAPI(Messaging Application Pro-grmming Interface)是消息处理应用程序接口,微软和其他一些公司均有开发。MAPI控件可用于创建具有电子邮件功能的应用程序。MAPI 控件包含MAPISession和MAPIMessage两个控件,前一个是会话控件,后一个是消息控件。下面通过实例说明在Authorware中,如何用MAPI控件实现具有用户认证功能的带附件的邮件发送程序。
步骤1,新建一个Authorware文件,通过“插入→控件→ActiveX…”菜单命令将MAPISession控件和MAPIMessage控件依次放在流程线上,然后将一个计算图标拖放到流程线上,并命名为“发送带附件邮件”,程序流程图如图1所示。
步骤3,打开“发送带附件邮件”计算图标,在其中编写如下程序代码:
SetSpriteProperty(@"sdinf1",#SMTPServer,"smtp.163.com")
SetSpriteProperty(@"sdinf1",#SMTPPort,25)
SetSpriteProperty(@"sdinf1",#Subject,"测试")
SetSpriteProperty(@"sdinf1",#From,"xjzhang@163.com")
SetSpriteProperty(@"sdinf1",#To,"james@sina.com")
SetSpriteProperty(@"sdinf1",#DisplayName,"xjzhag")
SetSpriteProperty(@"sdinf1",#NeedAuth,TRUE)
SetSpriteProperty(@"sdinf1",#UserName,"xjzhang")
SetSpriteProperty(@"sdinf1",#Password,"12345678")
SetSpriteProperty(@"sdinf1",#Body,"这是一次测试!")
SetSpriteProperty(@"sdinf1",#IsSilence,FALSE)
SetSpriteProperty(@"sdinf1",#Append1,FileLocation^"审稿意见.doc")
CallSprite(@"sdinf1",#SendMail)
利用第三方控件如sdinf控件发送邮件的优点是:首先,sdinf控件容易获得。从网上直接下载便可获得。其次,应用sdinf控件编写的程序不太复杂,人们容易掌握。另外,应用sdinf控件发送邮件时不需要像Outlook Express之类的软件支持。但是,在Authorware中用sdinf控件发送邮件也有一个明显的缺点:从上面的程序代码中不难发现,发件人的密码是可以看得见的,而实际上发件人的密码在一般情况下是不能让别人看见的,通常显示为多个星号如“********”。
四、用自己编写的ActiveX控件实现具有用户认证功能的带附件的邮件发送程序
如果不想使用MAPI控件,同时又要解决第三方提供的ActiveX控件如sdinf控件在Authorware中应用的不足(如发件人的密码能看得见),就可以自己编写ActiveX控件实现想要的功能。因为编写ActiveX控件有一定的难度,所以我们不用从零开始,只要在sdinf控件基础上增加我们需要的功能(如发件人的密码不被显示)即可。下面我们先利用sdinf控件在Visual Basic中制作自己的ActiveX控件。
步骤1,新建一个VB ActiveX控件工程,将CommDialog控件和sdinf控件引入进来,控件界面如图3所示。
步骤2,编写与图3相对应的程序代码如下:
Private Sub btnBrowse1_Click()
cd1.Filter = "所有文件|*.*"
cd1.FileName = ""
cd1.ShowOpen
If cd1.FileName = "" Then Exit Sub
txtAppend1.Text = cd1.FileName
End Sub
Private Sub cmdSend_Click()
Sdinf1.SMTPServer = cmbSMTPServer.Text
Sdinf1.SMTPPort = txtSMTPPort.Text
Sdinf1.Subject = txtSubject.Text
Sdinf1.From = txtFrom.Text
Sdinf1.To = txtTo.Text
Sdinf1.DisplayName = txtDisplayName.Text
Sdinf1.NeedAuth = chkNeedAuth.Value
Sdinf1.UserName = txtUserName.Text
Sdinf1.Password = txtPassword.Text
Sdinf1.Body = txtBody.Text
Sdinf1.IsSilence = False
Sdinf1.Append1 = txtAppend1.Text
Sdinf1.SendMail
End Sub
Private Sub cmdExit_Click()
Unload Me
End Sub
步骤3,将上面编好的控件存为Mail.ocx。
步骤4,将Mail.ocx文件拷贝到c:\windows\system32(假设操作系统是Windows XP)目录中,并通过运行“regsvr32.exe Mail.ocx”来注册此控件。
接下来,我们通过实例说明在Authorware中,如何用自己编写的Mail控件实现具有用户认证功能的带附件的邮件发送程序。
新建一个Authorware文件,通过“插入→控件→ActiveX…”菜单命令将Mail控件放在流程线上,命名为“SendMail”,然后直接运行即可。
五、结束语
本文介绍了三种使用ActiveX控件在Authorware中发送具有用户认证功能的带附件的邮件的方法和实例。其中第一种是使用MAPI控件,第二种是使用第三方ActiveX控件如sdinf控件,第三种是使用自己编写的控件如Mail控件。综合来看,自己编写的控件优势最为明显,因为它不需要编写任何程序代码,也不需要像Outlook Express之类的客户端软件的支持,输入的发件人的密码也不显示,而且界面很友好,是一种值得推广的方法。