当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:54:00  来源:本站整理

监督POP3信箱[VC/C++编程]

赞助商链接



  本文“监督POP3信箱[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

本文将向大家介绍怎样编写自己的信箱监督程序,程序将直接调用WinSock函数来举行网络通信.除了具有WinSock编程知识之外,还必须理解POP3协议.下面是对POP3的一个大概的介绍,读者可以参看RFC1225更为具体地理解该协议.

1、关于POP3协议

POP3服务器程序普通在TCP端口110供应服务.当客户想要利用服务时,它便与服务器成立一个TCP衔接.一旦衔接成立,POP3服务器就向客户发送一条欢送消息.然后客户开始给服务器发送号令,服务器则给出呼应的答复.POP3的号令由一个关键词大概关键词加参数构成.每个号令以回车换行(0xD0xA)作为完毕标志.关于全部的号令,POP3服务器城市供应一个答复.服务器的答复由一个状况标志加一些附加信息构成.目前利用的两个标志是“+OK”和“-ERR”,辨别表示客户的号令能否合理.全部的答复也是以回车换行完毕.

与本文谈论的话题相关的四个POP3号令是USER、PASS、LIST和QUIT.

USER号令

格局USERname

此中name是用户在该POP3服务器上的用户标识.客户应当在接到服务器的欢送消息后大概在上一个USER大概PASS失利之后可以发送此号令.

PASS号令

格局PASSstring

此中string为该用户的密码.客户在发送了USER号令并且收到了+OK的答复之后方可发送此号令.假如用户名和密码都精确,服务器答复+OK,不然-ERR.

LIST号令

格局LIST

假如该用户有邮件,则LIST号令会答复+OK,并列出全部邮件的标识符和大小(每个邮件一行),最后一个仅包含一个句点的行(0xD0xA0x2E)表示整个答复的完毕.假如该用户没有邮件,有些服务器会返回-ERR,有些在大概返回一个+OK和一个仅包含一个句点的行.当然,客户必须在PASS号令通过之后客户程序才能给服务器发送LIST号令.

QUIT号令

从POP3服务器上退出登录.

2、实现相关函数

接下来我们按照POP3协议所定义的通信法则来实现一个名叫POP3CheckMail的函数,只要调用此函数,我们便可以检测信箱了.

下面的代码是用与Delphi4兼容的Pascal语言实现的,我们必须包含WinSock单元,并且在调用下列函数之前初始化好WinSock动态衔接库.初始化WinSock动态衔接库的代码以下:

ifWSAStartup($002,wsadata)<>0thenHalt;

POP3CheckMail的原型以下:

functionPOP3CheckMail(Email,Password:String;varMailList:TStringList;varErrorMsg:String):Bool;

参数阐明:

Email和Password辨别为用户的email信箱名和口令.

变量参数MailList用于返回邮件的标识和大小,MailList.Count表示邮件的封数.

变量参数ErrorMsg返回出错消息.


  以上是“监督POP3信箱[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 监督POP3信箱
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .