知识大全 用VB设计自己的E-mail系统
Posted 知
篇首语:喜欢读书,就等于把生活中寂寞的辰光换成巨大享受的时刻。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用VB设计自己的E-mail系统相关的知识,希望对你有一定的参考价值。
用VB设计自己的E-mail系统 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Visual Basic 以其强大的功能为广大软件开发人员所喜爱 随着Internet的迅猛发展 VB 应用在网络方面的开发也越来越多 本文将介绍如何用VB设计一个自己的E mail系统
检查是否连通Internet
在设计自己的E mail系统时 我们需要检测系统是否连通Internet 下文通过编写函数IsConnected来判断Internet是否连通
在主程序中加入下列代码
Private Sub Form_Load()
If IsConnected = True Then
MsgBox ( 您已经连通了Internet! )
End If
If IsConnected = False Then
MsgBox ( 您还没有连通 Internet! )
End If
End Sub
将下面的代码作为模块放在程序中
Option Explicit
/有关注册的API声明和定义以便使用/
Public Declare Function RasEnumConnections Lib RasApi dll Alias RasEnumConnectionsA (lpRasCon As Any lpcb As Long lpcConnections As Long) As Long
Public Declare Function RasGetConnectStatus Lib RasApi dll Alias RasGetConnectStatusA (ByVal hRasCon As Long lpStatus As Any) As Long
/常数和变量的设定/
Public Const RAS _MaxEntryName =
Public Const RAS _MaxDeviceType =
Public Const RAS _MaxDeviceName =
Public Type RASCONN
dwSize As Long
hRasCon As Long
szEntryName(RAS _MaxEntryName) As Byte
szDeviceType(RAS _MaxDeviceType) As Byte
szDeviceName(RAS _MaxDeviceName) As Byte
End Type
Public Type RASCONNSTATUS
dwSize As Long
RasConnState As Long
dwError As Long
szDeviceType(RAS _MaxDeviceType) As Byte
szDeviceName(RAS _MaxDeviceName) As Byte
End Type
/函数IsConnected返回是否连通的状态 如果为True则表示已连通/
Public Function IsConnected() As Boolean
Dim TRasCon( ) As RASCONN
Dim lg As Long
Dim lpcon As Long
Dim RetVal As Long
Dim Tstatus As RASCONNSTATUS
TRasCon( ) dwSize =
lg = TRasCon( ) dwSize
RetVal = RasEnumConnections(TRasCon( ) lg lpcon)
If RetVal <> Then
MsgBox 错误
Exit Function
End If
Tstatus dwSize =
RetVal = RasGetConnectStatus(TRasCon( ) hRasCon Tstatus)
If Tstatus RasConnState = &&H Then
IsConnected = True
Else
IsConnected = False
End If
End Function
通过使用上面代码 我们可以很方便地了解目前的Internet是否处于连通状态
设计接收邮件
在VB 选单上点击 工程→部件 弹出 部件 对话框 在对话框的控件卡中选中Microsoft MAPI Controls 控件 点击 确定 按钮 使得工具箱上增加MAPIMessage和MAPISession两个图标
在Form上加入一个MAPIMessage控件 取名为MAPIMeaasge ;加入一个MAPISession控件 取名为MAPISession ;再加入三个Textbox控件 分别取名为Subject Content和Indexno 将它们的Caption分别改为邮件标题 邮件内容和邮件索引号 并在TextBox前各加入一个Label控件 将Caption分别改为标题 内容和索引号
将MAPIMessage 的各项属性设置如下
DownLoadMail=TRUE
LogonUI=TRUE
NewSession=FALSE
UserName= 接收E mail
在Form上加入一个按钮(Getmail) 将其Caption属性改为接收邮件
在 Getmail_Click()中加入以下程序代码 程序的功能是使我们接收E mail:
MAPIMessage Fetch
Form Caption=MAPIMessage MsgCount
MAPIMessage MsgIndex=CINT(Indexno text)
Subjec Text = MAPIMessage MsgNoteText
Content Text = MAPIMessage MsgSubject
其中 Fetch命令是将信件抓到系统存贮器的inbuffer中 我们将信件抓回来后 可以由MsgCount属性知道信件数量 接着可以用MsgIndex设置要看哪一封信件的内容 标题
设计发送邮件
设计发送邮件部分时 我们需要分两步加以完成
Exchange各项参数的设置
进入Exchange系统 选择新增设置文件 屏幕上会显示所需要的信息服务 选择Internet Mail
设置文件的名称为test 屏幕会显示两个选项 可以选择以Modem方式或以Neork方式连接 笔者所用的是Modem方式 所以选择Modem
选择Modem后 Exchange会要求我们输入Mail server的IP address 在此输入自己的IP地址 接着将Transform Message的模式设置为Automatic 这样当我们连接到Mail服务器时 新的信息会自动下载到Local端 接下来 将你所使用的E mail地址 全名 口令和下载路径等一步步设置好 这样就完成了Exchange各项参数的设置
程序设计
在VB 选单上点击 工程→部件 弹出 部件 对话框 在对话框的控件卡中选中Microsoft MAPI Controls 控件 点击 确定 按钮
在Form上加入一个MAPIMessage控件 取名为MAPIMessage 再加入一个MAPISession控件 取名为MAPISession 然后加入三个textbox控件 取名为Subject Content和Addr并在三个textbox前各加入一个Label 最后将Caption分别改为标题 内容和地址
将MAPIMessage 的各项属性设置如下
DownLoadMail=TRUE
LogonUI=TRUE
NewSession=FALSE
UserName= 发送E mail
这里将DownLoadMail设置为TRUE 当程序和Mail服务器第一次连接时 会将新的Mail下载到Local端 将LogonUI设置为TRUE 则当程序中Logon名称输入错误时 系统会显示一个Message Box来让你输入正确的名称 由于这个程序仅使用到一条Session 所以将NewSession设置成FALSE 如果有许多Session要建立的话 则将它设置成TRUE UserName中所填的是我们在Exchange中所新增的设置文件名称 如果没有填内容的话 系统将会显示一些Message Box让你输入文件
在Form上加入三个按钮Logon Logoff和Send 并分别将它们的Caption改为登录 离网和发送
在 Logon_Click()中加入以下程序代码 程序的功能是使我们登录到Mail服务器
MAPISession SignOn
MAPIMessage SessionID = MAPISession SessionID
MsgBox Your Id is + Str(MAPISession SessionID)
其中MAPISession SignOn是做登录的动作 在登录时 因为已经将MAPIMessage 控件的DownLoadMail属性设置为TRUE 所以可以在屏幕上看到Message Box 显示系统正在下载Mail 登录成功后 系统会传回一个SessionID 将该ID填入MAPIMessage 的SessionID中 这样就可以利用这条Session来传送E mail
在Logoff_Click()中加入以下程序代码 程序的功能是使我们离开Mail服务器
MAPIS SignOff
在Send_Click()中加入以下程序代码 程序的功能是使我们发送E mail:
MAPIMessage Compose
MAPIMessage RecipDisplayName = Addr text
MAPIMessage AddressResolveUI = True
MAPIMessage MsgSubject = Subject text
MAPIMessage MsgNoteText = Content text
MAPIMessage Send
MsgBox 您发送成功啦!
其中Compose命令的目的是使你可以改变RecipDisplayName的内容 将所需传送的E mail地址 主题和文章内容分别填入RecipDisplayName MsgSubject和MsgNoteText 接着用Send命令发送
用IE Mail程序测试
cha138/Article/program/net/201311/12103相关参考
用VB.NET结合Excel设计统计生产报表 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 用E
通过E-mail共享Java对象 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! JDK的新功能序
通过E-mail共享Java对象 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! JDK的新功能序
JavaScript在E-mail中的应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Jav
asp实现留言簿自动发E-Mail 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ASP本身没有
知识大全 编写可在线收发E-mail的Java Applet
编写可在线收发E-mail的JavaApplet 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
如何用E-mail发履历并受到公司的重视 以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!现在不少大公
用VB.NET设计各种形状的窗体界面二 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 结合上
用VB.NET设计各种形状的窗体界面一 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 窗体是程序
一个提醒程序最典型的就是闹钟程序网上有不少个性化的提醒程序下载但是大部分都是以时间为主的闹钟提醒我们也可以用来打造一个适合自己的提醒程序比如监控一个某个应用程序的变化然后发出声音提醒自己等等 一