知识大全 用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设计统计生产报表

用VB.NET结合Excel设计统计生产报表  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  用E

知识大全 通过E-mail共享Java 对象

通过E-mail共享Java对象  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  JDK的新功能序

知识大全 通过E-mail 共享Java 对象

通过E-mail共享Java对象  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  JDK的新功能序

知识大全 JavaScript在E-mail中的应用

JavaScript在E-mail中的应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Jav

知识大全 asp实现留言簿自动发E-Mail

asp实现留言簿自动发E-Mail  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ASP本身没有

知识大全 编写可在线收发E-mail的Java Applet

编写可在线收发E-mail的JavaApplet  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 如何用E-mail发履历并受到公司的重视

如何用E-mail发履历并受到公司的重视  以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!现在不少大公

知识大全 用VB.NET设计各种形状的窗体界面二

用VB.NET设计各种形状的窗体界面二  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!    结合上

知识大全 用VB.NET设计各种形状的窗体界面一

用VB.NET设计各种形状的窗体界面一  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  窗体是程序

知识大全 用vb.net实现闹钟提醒程序

  一个提醒程序最典型的就是闹钟程序网上有不少个性化的提醒程序下载但是大部分都是以时间为主的闹钟提醒我们也可以用来打造一个适合自己的提醒程序比如监控一个某个应用程序的变化然后发出声音提醒自己等等  一