C++电子邮件客户端的设计与实现(6)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

C++电子邮件客户端的设计与实现(6)


POP适用于C/S结构的脱机模型。脱机模型即不能在线操作,不像IMAP4(netscape支持IMAP4)当客户机与服务器连接并查询新电子邮件时,被该客户机指定的所有将被下载的邮件都将被程序下载到客户机,下载后,电子邮件客户机就可以删除或修改任意邮件,而无需与电子邮件服务器进一步交互。POP3客户向POP3服务器发送命令并等待响应,POP3命令采用命令行形式,用ASCII码表示。服务器响应是由一个单独的命令行组成,或多个命令行组成,响应第一行以ASCII文本+OK或-ERR指出相应的操作状态是成功还是失败在POP3协议中有三种状态,认可状态,处理状态,和更新状态。
2.3.2  POP3的命令
USER username 认证用户名
PASS password 认证密码认证,认证通过则状态转换
APOP name,digest 认可一种安全传输口令的办法,执行成功导致状态转换,请参见 RFC 1321 。
STAT 处理请求 server 回送邮箱统计资料,如邮件数、邮件总字节数
UIDL n 处理 server 返回用于该指定邮件的唯一标识,如果没有指定,返回所有的。
LIST n 处理 server 返回指定邮件的大小等
RETR n 处理 server 返回邮件的全部文本
DELE n 处理 server 标记删除,QUIT 命令执行时才真正删除
RSET 处理撤消所有的 DELE 命令
TOP n,m 处理 返回 n 号邮件的前 m 行内容,m 必须是自然数NOOP 处理 server 返回一个肯定的响应
QUIT 希望结束会话。如果 server 处于”处理” 状态,则现在进入”更新”状态,删除那些标记成删除的邮件。如果 server 处于”认可”状态,则结束会话时 server 不进入”更新”状态 。
根据上述,POP3的处理步骤如下:
1连接到POP3服务器
2发送用户信箱名
3发送信箱密码
4对信箱邮件进行操作
5接收邮件完毕,结束POP3对话
2.4  jmail.dll
2.4.1  jmail的简介
Jmail是一个第三方邮件操作组件,通常位于web服务器端,和站点程序紧密配合来接收及提交邮件到邮件服务器的控件,让网站拥有发送邮件及接收邮件的功能。本文主要用到jmail.dll来接收邮件。Jmail常用的Message对象的属性:
(1)Body(信件正文) : 字符串  
(2)Charset(字符集,缺省为"US-ASCII") : 字符串  
(3)ContentTransferEncoding : 字符串   
指定内容传送时的编码方式,缺省是"Quoted-Printable"   
(4)ContentType(信件的contentype. 缺省是"text/plain") : 字符串   
如果你以HTML格式发送邮件, 改为"text/html"即可。   
(5)Encoding : 字符串   
设置附件编码方式(缺省是"base64)。 可以选择使用的是"base64", "uuencode" or "quoted-printable"
(6)Log(Jmail创建的日志,前提loging属性设置为true) : 字符串  
(7)Sender( 发件人的邮件地址) : 字符串   
(8)SenderName(发件人的姓名) : 字符串   
(9)ServerAddress(邮件服务器的地址) : 字符串   
你可以指定多个服务器,用分号点开。可以指定端口号。如果serverAddress保持空白,JMail会尝试远程邮件服务器,然后直接发送到服务器上去。   
(10)Subject(设定邮件的标题,可以取自Form。):字符串   
(11)AddAttachment添加文件附件到邮件   
(12)AddCustomAttachment( FileName, Data )   添加自定义附件.      
(13)AddRecipient(收件人):字符串
2.5  MFC和ACCESS
2.5.1  MFC概述
MFC,微软基础类(Microsoft Foundation Classes),同VCL类似,是一种Application Framework,随微软Visual C++ 开发工具发布。该类库提供一组通用的可重用的类库供开发人员使用。大部分类均从CObject 直接或间接派生,只有少部分类例外。 (责任编辑:qin)