当前位置:文档之家› 基于POP3协议的电子邮件接收程序的设计论文

基于POP3协议的电子邮件接收程序的设计论文

南阳理工学院毕业设计论文

题目基于POP3协议的电子邮件接收程序的设计学院软件学院

专业软件工程

班级08级软件工程7班

姓名王志杰

指导教师刘凯

2012 年 3 月26 日

目录

摘要 (2)

1、引言 (3)

1.1 课程设计的内容 (3)

1.2 课程设计的要求 (3)

2、设计平台简介 (3)

2.1 VC++ (3)

3、邮件接收协议 (5)

3.1 POP3简介 (5)

4、设计原理 (8)

4.1 POP3交互模型 (8)

5、课程设计步骤 (9)

5.1 函数构造 (9)

5.2 接收邮件的步骤 (15)

6、测试 (19)

6.1 测试目的 (19)

6.2 测试环境 (19)

6.3 测试结果 (19)

6.4 结果分析 (20)

7、出现的问题及解决方法 (20)

7.1设计中出现的问题 (20)

7.2解决方法 (20)

参考文献 (21)

摘要

电子邮件可以使人们有效地进行电子化的数据异地交换。Internet以电子邮件服务推动着人类的通信行为不断发展,邮件的接收系统。本论文以Visual C#为开发平台,利用Socket 套接字编程,实现了基于POP3协议的邮件接收程序,介绍了POP3协议的原理及电子邮件接收程序的设计与实现方法。

随着Internet/Intranet的迅猛发展,电子邮件(E-Mail)已成为因特网上非常流行、非常方便的通信方式。电子邮件技术不断进步,邮件协议也不断发展。目前应用最广泛的电子邮件收件协议是POP3。本文采用微软最新的.NET技术,以Visual C#为开发平台,利用Socket套接字编程开发了基于POP3协议的邮件接收程序,现对相关原理及具体设计进行讨论。

关键词课程设计;电子邮件;接收程序;POP3;Socket;Visual C#

1、引言

随着Internet/Intranet的迅猛发展,电子邮件(E-Mail)已成为因特网上非常流行、非常方便的通信方式。电子邮件技术不断进步,邮件协议也不断发展。目前应用最广泛的电子邮件收件协议是POP3。本文采用微软最新的.NET技术,以Visual C#为开发平台,利用Socket套接字编程开发了基于POP3协议的邮件接收程序,现对相关原理及具体设计进行讨论。

1.1 毕业设计的内容

运用C#语言设计一个邮件程序实现邮件的接收

1.2 毕业设计的要求

(1)按要求编写课程设计报告书,能正确阐述设计结果。

(2)通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。

(3)学会文献检索的基本方法和综合运用文献的能力。

(4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。

2、设计平台简介

2.1 Visual C#

(1)背景

VC++是微软公司开发的一个IDE(集成开发环境),换句话说,就是使用C++的一个开发平台。VC++是Windows平台上的C++编程环境,学习VC要了解很多Windows平台的特性并且还要掌握MFC、ATL、COM等的知识,难度比较大。Windows 下编程需要了解Windows的消息机制以及回调(callback)函数的原理;MFC是Win32API的包装类,需要理解文档视图类的结构,窗口类的结构,消息流向等

等;COM是代码共享的二进制标准,需要掌握其基本原理等等。

Visual C#作为Visual Studio的一个组件,可以通过安装Visual Studio 来获得。VC作为一个主流的开发平台一直深受编程爱好者的喜爱,但是很多人却对它的入门感到难于上青天,究其原因主要是大家对他错误的认识造成的,严格的来说VC++不是门语言,虽然它和C++之间有密切的关系,如果形象点比喻的话,可以把C++看作为一种“工业标准”,而VC++则是某种操作系统平台下的“厂商标准”,而“厂商标准”是在遵循“工业标准”的前提下扩展而来的。

(2)基本模式

Visual C#应用程序的开发主要有两种模式,一种是WIN API方式,另一种则是MFC方式。VC基于C,C++语言,主要由是MFC组成,是与系统联系非常紧密的编程工具,它兼有高级,和低级语言的双重性,功能强大,灵活,执行效率高,几乎可说VC在 Windows平台无所不能。最大缺点是开发效率不高。

(3)适用范围【1】

1、 VC主要是针对Windows系统,适合一些系统级的开发,可以方便实现一些底层的调用。在VC里边嵌入汇编语言很简单。

2、 VC主要用在驱动程序开发。

3、 VC执行效率高,当对系统性能要求很高的时候,可用VC开发。

4、 VC主要适用于游戏开发。

5、 VC多用于单片机,工业控制等软件开发,如直接对I/O地址操作,就要用C++。

6、 VC适用开发高效,短小,轻量级的COM组件,DLL。比如WEB上的控件。

7、 VC可以开发优秀的基于通信的程序。

8、 VC可以开发高效灵活的文件操作程序。

9、 VC可以开发灵活高效的数据库操作程序。

10、VC是编CAD软件的唯一选择。包括AUTOCAD,UG的二次开发。

11、 VC在多线程、网络通信、分布应用方面,VC++有不可比拟的优势。

3、邮件接收协议

3.1 POP3简介

POP3(Post Office Protocol Version 3),即邮局办公协议,该协议用于接收邮件的双方(客户机、POP3服务器)进行通信。使用该协议,用户可以脱机阅读信件,而不必把客户机长期连接到网络上,以减少网络费用。POP3协议允许用户以一定的方式从保存邮件的服务器(即POP3服务器)上取走自己的邮件。

3.2 POP3协议工作原理【2】

POP3提供了一种客户机/服务器脱机模型,客户机通过向服务器发送一些命令来完成相应的操作。客户机能够发送的命令与它所处的状态有关。协议中定义了三种状态:即确认状态(Authorization State)、处理状态(Transaction State)和更新状态(Update State)。在不同的状态下,客户机可以向服务器发送的命令是有区别的,某些命令还会导致状态的转换。POP3交互过程中的常用命令和状态转换如图3.2.1和表3.2.1所示。

图3.2.1 POP3的状态转换示意图

表3.2.1 一些常用的POP3命令

POP3服务器一般使用的是TCP的110号端口。当客户机与服务器建立TCP 连接时,POP3服务器向客户机发回一个问候,交互过程即进入确认状态。此时,若客户机提供了自己的身份并成功确认,即由确认状态转入处理状态;在这个状态,用户可用相应的命令处理自己的邮件。在完成相应的处理过程后客户机发出QUIT命令,则进入更新状态;在此状态下,POP3服务器释放邮件资源并返回一个告别响应;最后关闭TCP连接。

通过POP3命令查询电子邮件时,客户机可以下载指定的邮件,然后对邮件进行删除或修改操作都无需与服务器进一步交互。客户机向服务器发送命令并等待响应,POP3命令采用命令行形式,用ASCII码表示。服务器响应是由一行或多行组成,其中,第一行以ASCII文本+OK, 或-ERR开始,分别指出相应的操作是成功还是失败。

POP3命令包含一个大小写无关的关键字和一个或多个参量,所有的命令以(回车换行符)作为其结束标志。关键字和参量必须是非控制符的ASCII 码字符。关键字和参量之间,参量和参量之间由一个空格字符分隔开。关键字长不大于四个字符,每个参量最长可到40个字符。

POP3响应包含一个状态标志和一个跟随其后的附加信息。响应也用

作为其结束标志。响应最长到512字节,其中包括协议定义了两个状态标志:正确(“ +OK”)和错误(“ -ERR”)。服务器用大写格式发送“ +OK”和“ -ERR”。如果响应是多行的,则每行以结束。当响应的所有行被发送后,接着发送多行响应的结束标志行,该行仅包含一个句点“.”和一个对【3】。

4、设计原理

4.1 POP3交互模型

该模型基本原理为:POP3接收者对POP3

发送者进行初始化连接,发送者对接收者发送询问指令“READY”,接收者则向发送者提交所要接收数据的要求,发送者做出回应,并发送数据。接收者则开始接收数据。发送者发送完数据后,提出断开请求,并断开连接。数据接收过程完成。

5、课程设计步骤

5.1 函数构造

Windows Socket类是对Windows Socket API的封装,其中包括,CSocket和cAsyncSocket类,使用它们能够大大简化网络通信程序的编写。套接字的数据结构中包括下面五种数据:

(1)本机主机端口:接收报文或数据报的进程。

(2)本机主机地址:接收数据包的主机。

(3)远地协议端口:目的进程或程序。

(4)远地主机端口:目的主机。

(5)协议:程序在网络上传输数据时使用的协议。

本应用程序就是使用Windows sockets编程设计的。

在接收电子邮件时,必然需要涉及到连接服务器,接收数据,接收响应以及断开等一系列操作.这就需要设计一个类来封装这些操作,在该应用程序中制定了一个CSMTP类。该类的定义如下所示,

#define SMTP_PORT 25

#define RESPONSE_BUFFER_SIZE 1024

class CSMTP

{

Public;

CSMTP(LPCTSTR szSMTPServerName,UINT nPort=

SMTP_PORT);

virtual~CSMTP();

void SetServerProperties(LPCTSTR szSMTPserverName,

UINT nPort=SMTP_PORT);

CString GetlastError();

UINT GetPort();

BOOL Disconnect();

BOOL Connect();

virtual BOOL FormatMAilMessage(CMailMessage * msg

);

BOOL getMessage(CMailMessage * msg);

CString GetserverHostName();

Private;

BOOL get_response(UINT response_expected);

CString cook_body(CMailMessage * msg);

CString m_serror;

BOOL m_bconnected;

UINT m_nPort;

CString m_sSMTPServerHostName;

CSocket m_wsSMTPServer;

protected;

virtuaI BOOL transmit_message(CMailMessage * msg

);

struct response_code

{

UINT nResponse;

TCHAR * sMessage;

};

enum eResponse

{

GENERIC_SUCCESS = O,

CONNECT_SUCCESS,

DATA_SUCCESS,

QUIT_SUCCESS,

LAST_RESPONSE

);

TCHAR * response_buf;

static response_code response_table[];);

其中,m_sError成员代表错误信息,m_bConnected表示是否建立连接;m_bPort 表示SMTP服务器所使用的端口号,m_sSMTPserverHostName表示SMTP服务器的主

机名(地址);m_waSMTPserver则为将与SMTP服务器建立连接的套接字对

象;response_table表示由服务器返回的响应,而eResponse列举了所有可能出现的错误。

因为电子邮件有其特殊的结构,不单简单地将其作为文本进行处理。例如,邮件必须在邮件头和邮件体后发送,而在收信时,先需要解析邮件头和邮件体.CMailMessage类是对邮件进行格式化编码的一个类【4】。

CSMTP类的构造函数如下所示:

CSMTP: ; CSMTP(LPCTSTR szSMTPServerName,

UINT nPort)

{ASSERT(szSMTPServerName l = NULL);

AfxSocketInit();

m_sSMTPserverHostName = azSMTPServerName;

m_nPort = nPort;

m_bConnected = FALSE;

m_sError = _T(“OK”);

response_buf = NULL;}

在这里调用AfxsocketInit函数以初始化Window Sockets类的使用,此外还验证其他类成员是否合法,或为其赋值。

#include "mySock.h" //添加套接字类的包含文件

.........

class CPop3Dlg : public CDialog

{

// Construction

public:

void Disp(LONG flag); //在不同的会话阶段显示不同的信息

mySock pop3Socket; //套接字类对象实例

CPop3Dlg(CWnd* pParent = NULL); // standard constructor ...........

(2)pop3Dlg.cpp实现文件

#include "stdafx.h"

#include "pop3.h"

#include "pop3Dlg.h"

#include "mySock.h" //手工添加的包含语句...................

BOOL CPop3Dlg::OnInitDialog()

{

.............

// TODO: Add extra initialization here

//用户在这里添加控件成员变量的初始化代码

m_strServer = _T("https://www.doczj.com/doc/1515053731.html,"); //POP3服务器地址

m_strUser = _T("example"); //邮箱的用户名

m_strPass = _T("123456"); //口令

m_bolDel = FALSE; //下载邮件后不删除

m_Info = _T(""); //多文本框清空

return TRUE; // return TRUE unless you set the focus to a control }

.................

//以下是事件处理函数和其他成员函数的代码

//当用户点击"连接"按钮时,执行此函数

void CPop3Dlg::OnBtnConn()

{

//设定pop3类的对话框指针变量,使之指向本对话框,以便传递信息

pop3Socket.SetParent(this);

UpdateData(TRUE); //取来用户在对话框中输入的数据

pop3Socket.Create(); //创建套接字对象的底层套接字

pop3Socket.Connect((LPCSTR)m_strServer,110); //连接pop3服务器

m_Info = ""; //多文本列表框清空

UpdateData(FALSE); //更新用户界面

}

//当用户点击"断开"按钮时,执行此函数

void CPop3Dlg::OnBtnDisc()

{

pop3Socket.Close();

}

//当用户点击"查看邮件"按钮时,执行此函数

void CPop3Dlg::OnBtnView()

{

int i;

i = m_ctrList.GetCurSel(); //获得用户在组合框中的选择//获得并显示指定信件的基本属性及信件内容

m_Info += pop3Socket.GetMsgStuff(i);

m_Info += pop3Socket.GetMsgBody(i);

}

//在不同的情况下,向用户显示不同的信息

void CPop3Dlg::Disp(LONG flag)

{

CString s;

switch(flag)

{

case S_CONNECT: //已连接到服务器,显示信息

s = "已连接到"+m_strServer+"...\r\n";

m_Info+=s;

//禁用连接按钮

GetDlgItem(IDC_BTN_CONN)->EnableWindow(FALSE);

//启用断开按钮

GetDlgItem(IDC_BTN_DISC)->EnableWindow(TRUE);

//禁用查看邮件按钮

GetDlgItem(IDC_BTN_VIEW)->EnableWindow(FALSE); break;

case S_RECEIVE://收到服务器发来的响应,显示它的内容

m_Info+=https://www.doczj.com/doc/1515053731.html,stMsg;

break;

case S_CLOSE: //显示关闭连接的信息

m_Info+=pop3Socket.error;

s = "连接已经关闭\r\n";

m_Info+=s;

//启用连接按钮

GetDlgItem(IDC_BTN_CONN)->EnableWindow(TRUE);

//禁用断开按钮

GetDlgItem(IDC_BTN_DISC)->EnableWindow(FALSE);

break;

case S_GETNUM: //已经知道了邮箱中信件的总数

s.Format("邮箱中共有 %d 封信\r\n",pop3Socket.numMsg);

m_Info+=s;

break;

case S_GETSIZE: //显示信件的大小

s.Format("信箱中信件大小为:%d字节\r\n",pop3Socket.sizeMsg); m_Info+=s;

break;

case S_ENDRETR: //所有信件已下载完毕,显示信息

s.Format("共下载了 %d 封信件\r\n",pop3Socket.msgs.size()); m_Info+=s;

//如果有信件下载,启用查看邮件按钮

if((pop3Socket.msgs.size())>0)

GetDlgItem(IDC_BTN_VIEW)->EnableWindow(TRUE);

break;

}

UpdateData(FALSE); //更新用户界面

}

//当点击“存储”按钮时,执行此函数。

void CPop3Dlg::OnBtnSave()

{

int i;

CString s;

i = m_ctrList.GetCurSel();

//获得指定信件的基本属性及信件内容

s = pop3Socket.GetMsgStuff(i);

s += pop3Socket.GetMsgBody(i);

CFileDialog dlg(FALSE);

if(dlg.DoModal()==IDOK)

{

CFile file(dlg.GetPathName(),

CFile::modeCreate | CFile::modeWrite | CFile::typeBinary);

file.Write((LPCSTR)s,s.GetLength());

file.Close();

}

}

5.2 接收邮件的步骤

(1). 建立与服务器的连接。具体工作由Connect函数完成。部分Connect 函数代码如下所示:

BOOL CSMTP:; Connect()

{ ……

if(! m_wsSMTPServer.Create())

{m_sError=_T(“无法创建套接字!”);

delete response_buf;

response_buf = NULL;

return FALSE;)

if(! M_wsSMTPserver.Connect(GetServerHostName

(),GetPort()))

{m_sError = _T(“无法连接到服务器”);

M_sSMTPserver.Close();

delete response_but;

response-buf = NULL;

return FALSEI;}

if(! Get_response(CONNECT_SUCCESS))

{m_sError = _T(“服务器投有响应”);

M_wsSMTPServer.Close();

delete response_buf;

response_buf = NULL;

return FALSE;)

sHello.Format(_T(“HELO%s\r\n”),local_host);

m_wsSMTPServer.Get((LPCTSTR)sHello,sHello.

Getlength());

……}

(2).建立连接后从服务器接收邮件。这个工作由GetMessage函数完成。GetMessage函数代码如下:

BOOL CSMTP::GetMessage(CMailMessage * msg)

{if(! m_bConnected)

{m_sError = _T(“必须首先创建连接!”);

return FALSE;)

if(FormatMailMessage(msg)==FALSE)

{return FALSE;)

if(transmit_message(msg)==FALSE)

{return FALSE;)

return TRUE;)

前面介绍过电子邮件有其特殊的格式,在这里FormatMailMessage函数就是用于格式化邮件信息的。Transmit_message函数将邮件进到服务器上。部分Transmit_message函数代码如下所示:

BOOL CSMTP::transmit_message(CMailMessage *

msg)

{……sFrom.Format_T(“MAIL From:<%s>\r\n”

),(LPCTSTR)msg一>m_sFrom);

M_wsSMTPServer.Get((LPCTSTR)sFrom,sFrom.

GctLength());

if(! Get_response(GENERIC_SUCCESS))

return FALSEl;

for(int i=O;iGetNumRecipients(); i++)

{msg一>GetRecipient(sEmail,sTemp,i);

sTo.Format(_T(“RCPT TO;<%s>\r\n”),(LPCT

STR)sEmail);

m_wsSMTPServer.Get( (LPCTSTR)sTemp,sTemp.

GetLength());

Get_response(GENERIC_SUCCESS);)

sTemp=_T(“DATA\r\n”);

m_wsSMTPServer.Get((LPCTSTR)sTemp,sTemp.

GetLength());

if(! Get_response(DATA_SUCCESS))

{return FALSE;}

m_wsSMTPserver.Get((LPCTSTR)msg一>m_

sHeader,g一>m_sHeader.GetLength());

sTemp = cook_body(msg);

m_wsSMTPServer.Get((LPCTSTR)sTemp,sTemp.

GetLength());

sTemp = _T(“\r\n.\r\n”);

m_wsSMTPServer.Get((LPCTSTR)sTemp,sTemp.

GetLength());

if{! Get_response(GENERIC_SUCCESS))

{return FALSE;}

Return TRUE;}

在此函数中,首先发送MAIL命令,通知服务器收信人的邮箱地址。然后发进RCPT命令,通知服务器发信人的邮箱地址。需要注意的是,在有多个发信人

时,必须为每个发信人都发送一次RCPT命令,通知服务器将要进行邮件数据的传输。此后,分别将邮件头和邮件体从服务器上接收下来。这里需要注意一点:当邮件数据接收完毕后,需要额外发送一个“回车/换行……回车/换行”信号,以通知邮件数据传输完毕.

(3). 当邮件接收完毕后,一般不需要保持与SMTP服务器的连接,而断开的工作由Disconnect函数完成。Disconnect代码如下:

BOOL CSMTP: : Disconnect()

{BOOL ret;

if(! m_bConnected)

return TRUE;

CString sQuit = _T(“QUIT\r\n”);

m_wsSMTPserver.send((LPCTSTR)sQuit,sQuit.

GetLength());

Ret = get_response(QUIT_SUCCESS);

m_wsSMTPServer.Close();

if(response_buf ! = NULL)

{delete[]response_buf;

Response_buf = NULL;}

M_bConnected = FALSE;

return ret;}

首先向SMTP服务器发送QUIT命令,关闭邮件传输会话;然后调用套接字对象的Close函数关闭套接字,最后将类对象所占用的内存释放。

6、测试

6.1 测试目的

检测邮件接收程序是否能接收邮件。

6.2 测试环境

Windows XP

6.3 测试结果

与服务器取得联系之后,对目标邮件进行接收,证明邮件可以正常接收,具体的接收界面如下图6.3.1所示:

图6.3.1接收电子邮件程序主界面

电子邮件试题及答案

《信息技术基础》(电子邮件部分) 强化练习 1.如果E-mail地址是wang@https://www.doczj.com/doc/1515053731.html,,那么用该邮箱地址发送邮件范围:()A.只能是云南 B.只能是中国 C.只能是教育部门 D.可以是全世界 2.某同学以myname为用户名在新浪网(https://www.doczj.com/doc/1515053731.html,)注册的电箱地址应该是:() A myname@https://www.doczj.com/doc/1515053731.html, B.https://www.doczj.com/doc/1515053731.html, C.myname.sina@com D.https://www.doczj.com/doc/1515053731.html,@myname 3.使用WEB方式(直接在网站上)收发电子邮件时,以下描述错误的是:() A.不用设置SMTP服务域名 B.不用设置POP3服务域名 C.不用输入账号和密码登录 D.可以在附件中插入图片文件 4.在撰写邮件时,在收件人对话框的“收件人”栏中:() A.只能输入一个人的收件地址 B.只能输人多个人的收件地址 C.既可以输入一个人的收件地址又可以输人多个人的收件地址 D.只能输入收件人的姓名 5.要将一封电子邮件同时发送给几个人,可以在收件人栏中输入他们的地址,并用()分隔。 (A)”(B)。(C),(D) / 6.关于发送电子邮件,下列说法中正确的是()。 (A)你必须先接入Internet,别人才可以给你发送电子邮件 (B)你只有打开了自己的计算机,别人才可以给你发送电子邮件 (C)只要有E-Mail地址,别人就可以给你发送电子邮件 (D)别人只要接入了Internet,就可以给你发送电子邮件 7.要给某人发电子邮件,必须知道他的()。 (A)电话号码(B)家庭地址(C)姓名(D)E-Mail地址 8.在发送电子邮件时,在邮件中()。 (A)只能插入一个图形附件(B)只能插入一个声音附件 (C)只能插入一个文本附件(D)可以根据需要插入多个附件 9.电子邮件从本质上来说就是()。 (A)浏览(B)电报(C)传真(D)文件 10.小明写了一份研究性学习结题报告电子文档,投稿前就稿子审阅修订问题需要与身在国外留学的叔叔进行较长时间的交流。你认为小明应该采用的较合理的信息交流方式是:() (A)电报 (B)电话 (C)书信 (D)电子邮件 11.下列主要用于电子邮件收发和管理的软件是() (A)FrontPage (B)Outlook Express (C)ACDSee (D)WinRAR 12.接收电子邮件的协议是() (A)SMTP (B)HTTP (C)POP3 (D)TCP/IP 13.在电子邮件中所包含的信息() (A)只能是文字信息 (B)只能是文字和图形图像信息 (C)只能是文字与声音信息 (D)可以是文字、声音和图形图像信息 14.把电子邮件发送到收件人的电子信箱中,所采用的邮件传输协议是()

电子邮件的收发

电子邮件的收发 【教材分析】 本节内容是高等教育出版社出版的中等职业教育国家规划教材——《计算机应用基础》第四章第二节,即时通讯软件和邮件收发都是现代人所需掌握的基本技能,特别是QQ的普及,很多人都越来越多地依赖它来交流信息,沟通感情。教材中没有对QQ过多介绍,反而指向MSN,需要向学生说明。同时,教材中除了介绍在web上收发邮件外,还介绍用邮件客户端软件管理邮件,深化了对邮箱管理的操作。 【教材处理】 本节的实际操作性还是比较强的,但是由于学生对邮箱和qq都已很熟悉,如果设计不好,很难吸引学生的注意力,进而把课堂深化下去。同时,本节的理论知识也是很重要的一部分,有些比较抽象,不好理解。因此对教材作如下处理: 1、情景引入尤为重要,创设学生身边的情境,让学生带着问题去思考,在情境中不知不觉地领悟新知。 2、旧瓶装新酒,适当扩充软件知识和深化知识点。 3、让学生学会比较,在比较中建构自己的知识体系和技能。 【学情分析】 教学对象:职高一年级学生 基本情况:学生已经在初中阶段学过信息技术这一课程再加上qq的普及,对本节内容已有初步的认识。 电子邮件对于学生来说,并不是第一次使用。部分学生可能都曾用过电子邮箱发送过电子邮件。但从平时的交流中,发现他们只会登录web页面发信、收信,对电子邮箱中的相关设置和发送原理并不是很了解。而对于用邮件客户端软件,如Outlook Express之类软件,基本上从来没有尝试过。因此,如何利用邮件客户端软件收发电子邮件,是本节的主要内容之一。 网络注册已经相当普遍,如何保障个人信息的安全,也是眼前要解决的一个问题。在电子邮件的收发过程中,除了对电子邮箱中的选项进行相关设置外,设定一定等级的密码是其中的一个方法。学生平时常常会忽略这点,设定的密码比较简单。所以在本课中也有相关的网络安全意识教育。

电子邮件系统的设计与实现_毕业设计(论文)

毕业设计论文 电子邮件系统的设计与实现

电子邮件系统 摘要 描述internet迅速发展,电子邮件已经成为信息交换的主要载体,电子邮件成为目前互联网上流行,方便快捷的通讯工具,随着网络发展普及,电子邮件的应用更加广泛。 本文提出一款适合大众用户的电子邮件系统,该电子邮件系统的主要功能模块包括登陆模块,收发模块和通讯录模块等。 首先概括性的介绍电子邮件系统软件的发展趋势及其电子邮件收发系统应用到相关知识,SMTP协议,POP协议等基本概念以及JSP概述。从JSP技术分析着手,分析利用JSP技术对本系统设计开发的过程。描述电子邮件收发系统的开发环境和编程语言然后对电子邮件系统进行总体设计。再分别对各功能模块进行详细的分析设计,最后使用用例对系统进行测试。 关键词:电子邮件,SMTP,POP3, JSP

Email system Abstract Description the internet rapid development, The email already became the exchange of information the main carrier. The E-mail is most convenient, most swift communication tool on Internet at present, with the popularization of the network its application will be more extensive. This article proposed section electronic mail system which is suited to the populace users. The main function module of mail system including the module of users landing, the module of receiving and dispatching mail, the module of address book and so on. First concise quality introduction electronic mail system software development and its email receiving and dispatching system application related knowledge SMTP POP basic concept and JSP summarize. The article will analysis from the JSP technology, dissect the process of design development of this system using JSP technology. The description email receiving and dispatching system development environment and the programming language then carries on the system design to the electronic mail system. Then separately carries on the detailed analysis design to the function module, finally uses with the example carries on the test for the system. Keyword:Email ,Simple Mail Transfer Protocol , Post Office Protocol 3.

电子邮件协议综述

常见的电子邮件协议有以下几种:SMTP(简单邮件传输协议)、POP3(邮局协议)、IMAP (Internet邮件访问协议)。这几种协议都是由TCP/IP协议族定义的。SMTP(Simple Mail Transfer Protocol):SMTP主要负责底层的邮件系统如何将邮件从一台机器传至另外一台机器。POP(Post Office Protocol):目前的版本为POP3,POP3是把邮件从电子邮箱中传输到本地计算机的协议。IMAP(Internet Message Access Protocol):目前的版本为IMAP4,是POP3的一种替代协议,提供了邮件检索和邮件处理的新功能,这样用户可以完全不必下载邮件正文就可以看到邮件的标电子邮件 题摘要,从邮件客户端软件就可以对服务器上的邮件和文件夹目录等进行操作。IMAP协议增强了电子邮件的灵活性,同时也减少了垃圾邮件对本地系统的直接危害,同时相对节省了用户察看电子邮件的时间。除此之外,IMAP协议可以记忆用户在脱机状态下对邮件的操作(例如移动邮件,删除邮件等)在下一次打开网络连接的时候会自动执行。 除了我们常见的通用协议SMTP、POP3、IMAP ,现在有一些邮件系统厂商自主研发了私有协议,比如去年Coremail就研发了了私有协议,这个私有协议达到了邮件加速的目的,邮件发送接收比使用普通协议快了一倍,不过既然是私有协议,目前只能使用在同一个系统中,比如网易邮箱和139手机邮箱都用了Coremail邮件系统,他们之间互相收发邮件比收发其它系统的邮件要快一半。 这种私有协议一般是实力雄厚、终端用户多的厂商才具有研发的意义。 什么是POP 大家一听这个POP,读起来有点像是中文中的泡泡,其实这是一个英文术语的缩写。POP 的全称是Post Office Protocol,即邮局协议,用于电子邮件的接收,它使用TCP的110端口。现在常用的是第三版,所以简称为POP3。POP3仍采用Client/Server工作模式,Client被称为客户端,一般我们日常使用电脑都是作为客户端,而Server(服务器)则是网管人员进行管理的。举个形象的例子,Server(服务器)是许多小信箱的集合,就像我们所居住楼房的信箱结构,而客户端就好比是一个人拿着钥匙去信箱开锁取信一样的道理。 POP在网络模型中的层次 大家都知道网络是分层的,而这个分层就好比是一个企业里的组织结构一样。在日常使用电脑过程中,人操作着电脑,人就好比是指挥电脑对因特网操作的首席执行官。当我们打开Foxmail这个邮件软件收取邮件时,Foxmail这个软件就会调用TCP/IP参考模型中的应用层协议—POP协议。 应用层协议建立在网络层协议之上,是专门为用户提供应用服务的,一般是可见的。如利用FTP(文件传输协议)传输一个文件请求一个和目标计算机的连接,在传输文件的过程中,用户和远程计算机交换的一部分是能看到的。而这时POP协议则会指挥下层的协议为它传送数据服务器,最后Foxmail通过一系列协议对话后成功将电子邮件保存到了Foxmail 的收件箱里。TCP/IP参考模型是Internet的基础。和OSI的7层协议比较,TCP/IP参考模型中没有会话层和表示层。通常说的TCP/IP是一组协议的总称,TCP/IP实际上是一个协议族(或协议包),包括100多个相互关联的协议,其中IP(Internet Protocol,网际协议)是网络层最主要的协议;TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)是传输层中最主要的协议。一般认为IP、TCP、UDP是最根本的三种协议,是其它协议的基础。 相信读者了解TCP/IP框架之后,一定会对各层产生一定的兴趣,不过我们对于这个模型的理解也是一步步来的。在这里,我们首先只要知道相应的软件会调用应用层的相应协议,比如Foxmail会调用POP协议,而IE浏览器则会调用DNS协议先将网址解析成IP地址。在

实验六 电子邮件收发及客户端软件

实验六电子邮件收发及客户端软件配置 【实验目的】 让学生了解电子邮件传输信息的方法,熟练使用基于Web的电子邮件的收发,并掌握电子邮件客户端软件的配置方法及其基本应用。 【实验内容】 1.Web电子邮件的收发。 2.配置电子邮件客户端软件(Microsoft Outlook Express和Foxmail)。 3.电子邮件客户端软件的基本应用。 【预备知识】 (一)电子邮件基础知识 电子邮件(Electronic Mail)又称E-mail,它是用户或用户组之间通过计算机网络收发信息的服务。用户可以使用电子邮件发送或接收文字、图像和语音等多种形式的信息。目前电子邮件已成为网络用户之间快速、简便、可靠且成本低廉的现代通信手段,也是Internet 上使用最广泛、最受欢迎的服务之一。 1.电子邮箱 电子邮箱由提供电子邮件服务的机构为用户建立,在邮件服务器上建一个用户帐号并为用户开辟一个存储空间,又称E-mail地址。E-mail地址格式为:用户名@邮件服务器主机名。例如:zhujun@https://www.doczj.com/doc/1515053731.html,。 2.电子邮件工作原理 电子邮件与普通邮件有类似的地方,发信者注明收件人的E-mail地址,发送方服务器把邮件传到收件方服务器,收件方服务器再把邮件发到收件人的邮箱中。如图6-1所示。 图6-1 电子邮件收发示意图 在电子邮件的实际工作过程中,收发邮件一般是双向的,即发件人和收件人、发件服务器和收件服务器的角色是相互转换的。 电子邮件系统由以下几部分组成(见图6-2): z MUA(Mail User Agent):邮件用户代理,帮助用户读写邮件。 z MTA(Mail Transport Agent):邮件传输代理,负责把邮件由一个服务器传到另一个服务器。 1

我怎样使用电子邮件客户端(Outlook)程序收发邮件

我怎样使用电子邮件客户端程序(如Outlook)来发送和阅读邮件? 你可以使用支持POP 的客户端或者设备(例如Outlook 或Foxmail)收发你的邮件。 请配置你的电子邮件客户端,以下载企业邮箱邮件。要了解如何进行配置,请单击你的电子邮件客户端名称: Outlook 设置 请手动配置你的客户端: 1. 首先,启动Outlook Express。打开“Internet 连接向导”;首先输入你的“显示名”,如:殷大微。此姓名将出现在你所发送邮件的“发件人”一栏。,然后单击“下一步”按钮; 2. 在“Internet 电子邮件地址”窗口中输入你的邮箱地址,如:username@16 https://www.doczj.com/doc/1515053731.html,,再单击“下一步”按钮;

3. 在“接收邮件(pop、IMAP或HTTP)服务器:”字段中输入https://www.doczj.com/doc/1515053731.html,。在“发送邮件服务器(SMTP):”字段中输入https://www.doczj.com/doc/1515053731.html,,然后单击“下一步”; 4.在“帐户名:”字段中输入你的163免费邮用户名(仅输入@ 前面的部分)。在“密码:”字段中输入你的邮箱密码,然后单击“下一步”。

5.点击“完成”。 6.在Internet 帐户中,选择“邮件”选项卡,选中刚才设置的帐号,单击“属性”。

7.在属性设置窗口中,选择“服务器”选项卡,勾选“我的服务器需要身份验证”。 8.点击“确定”。 其它设置补充说明:

如果你希望在服务器上保留邮件副本,则在帐户属性中,单击“高级”选项卡。勾选“在服务器上保留邮件副本”。此时下边设置细则的勾选项由禁止(灰色)变为可选(黑色)。 恭喜!你已经完成Outlook 客户端配置,可以收发邮件了。

企业内部邮件管理系统的设计与实现毕业论文

毕业论文 企业内部邮件管理系统的设计与实现

摘要:本论文阐述了用https://www.doczj.com/doc/1515053731.html,技术结合Microsoft SQL Server数据库采用B/S 模式设计的企业内部邮件管理系统。企业内部邮件管理系统将电子邮件的功能与企业内部信息管理平台相融合,以实用、及时、发展、科学、灵活、安全、经济等为设计原则和目的,它是企业内部交流信息和管理沟通的好帮手,有着切实可行的意义,是非常必要的。通过信息化手段增强了企业内部邮件管理的可操作性、可执行性。企业内部邮件管理实现了计算机技术化,不仅可以提高了企业管理的自动化、智能化,还能为企业管理实现整体信息化创造了条件。对企业来说,企业内部邮件管理系统实现了数据传送的安全性和方便性,由于数据都在企业内部,也便于统一管理,不需要依靠网络的支持,可以及时向所有员工发送信息等;对个人来说,提供了一个企业内部员工交流信息和沟通的服务平台,既方便快速又保密。因此,企业内部邮件管理系统将会是企业的好帮手,有着深远的意义。 关键词:电子邮件;B/S模式;数据库;https://www.doczj.com/doc/1515053731.html,;管理系统

The Design and Realization of Internal E-mail Management System in Enterprise Abstract: The paper described the use of https://www.doczj.com/doc/1515053731.html, technology using Microsoft SQL SERVER database B / S model of the design of internal e-mail management system. E-mail management system for enterprise e-mail functions and enterprise integration of information management platform, to practical, timely, development, science, flexible, secure, economic and other principles for the design and purpose, it is the internal exchange of information and communication management helpful, with practical significance, it is very necessary. Through the means of enhancing the management of internal mail operable and enforceable. Internal e-mail management of computer technology has not only improved the automation of business management, intelligent, but also for corporate management to achieve the overall information technology has created conditions. For business, the enterprise e-mail management system to achieve a data transmission security and convenience, as a result of the data in the enterprise, but also facilitate the unification of management, do not need to rely on the support network, you can send timely information to all staff, etc.; of Personally, provides an enterprise to facilitate the exchange of information and communication services platforms, both for the convenience of fast and confidential. Therefore, the enterprise management system will e-mail is a good helper, with far-reaching significance. Keywords: E-mail;B/S model;Database;https://www.doczj.com/doc/1515053731.html,;Management System

POP3协议命令原始码及工作原理

POP3协议命令原始码及工作原理 一简介: 1. POP适用于C/S结构的脱机模型的电子邮件协议,目前已发展到第三版,称POP3。脱机模型即不能在线操作,不像IMAP4(netscape支持IMAP4) 2. 当客户机与服务器连接并查询新电子邮件时,被该客户机指定的所有将被下载的邮件都将被程序下载到客户机,下载后,电子邮件客户机就可以删除或修改任意邮件,而无需与电子邮件服务器进一步交互。 3. POP3客户向POP3服务器发送命令并等待响应,POP3命令采用命令行形式,用ASCII码表示。 服务器响应是由一个单独的命令行组成,或多个命令行组成,响应第一行以ASCII文本OK或-ERR指出相应的操作状态是成功还是失败 4. 在POP3协议中有三种状态,认可状态,处理状态,和更新状态。 当客户机与服务器建立联系时,一旦客户机提供了自己身份并成功确认,即由认可状态转入处理状态,在完成相应的操作后客户机发出quit命令,则进入更新状态,更新之后最后重返认可状态。如下图 等待连接身份确认quit命令 ——|认可|—————|处理|——————|更新| |__________________________________|

重返认可状态 5. 认可状态的命令语句 一般情况下,大多数现有的POP3客户与服务器执行采用ASCII 明文发送用户名和口令,在认可状态等根据专家观察,这样的理论和现象都是值得各位站长深思的,所以希望大家多做研究学习,争取总结出更多更好的经验! 待客户连接的情况下,客户发出连接,并由命令user/pass对在网络上发送明文用户名和口令给服务器 进行身份确认。一旦确认成功,便转入处理状态。 为了避免发送明文口令的问题,有一种新的认证方法,命令为APOP,使用APOP,口令在传输之前被加密。 当第一次与服务器连接时,POP3服务器向客户机发送一个ASCII 码问候,这个问候由一串字符组成对每个客户机是唯一的,与当时的时间有关,然后,客户机把它的纯文本口令附加到从服务器接收到的字符串之后,然后计算出结果字符串的MD5单出函数消息摘要,客户机把用户名与MD5消息摘要作为APOP命令的参数一起发送出去。 目前,大多数windows上的邮件客户软件不支持APOP命令,qpopper支持。 6. POP3命令码如下: 命令参数状态描述 ------------------------------------------

电子邮件收发系统的设计与实现【开题报告】

开题报告 通信工程 电子邮件收发系统的设计与实现 一、课题研究意义及现状 伴随中国互联网的发展和政府、企业信息化的进程,电子邮件系统越来越占据着举足轻重的地位。电子邮件系统在国内的应用,经历了从科研机构的专用工作方式到步入寻常百姓的日常生活,到为政府和诸多企业认可,成为人们工作、生活“标准配置”的发展历程。电子邮件系统作为整套应用解决方案,必然涉及到Internet接入网络、电子邮件系统应用软件、数据库、服务器设备、存储备份、集群、安全加密等相关技术,其中电子邮件系统软件是整个系统的核心,其技术指标对整个系统的功能和性能起到决定性作用。 随着我国Internet网络基础设施的不断改善和互联网应用的日益普及,以及人们对电子邮件服务的功能、性能要求的日益提升,电子邮件的应用也必将越来越深入和专业化。在技术上,电子邮件系统在国内的发展经历了从传统电子邮件系统的CtoC(Copy to China),到电子邮件服务提供商组织技术力量开发完善自己的邮件系统,再到顺应市场需求,逐渐产生满足不同目标用户电子邮件需求的商业化电子邮件系统成熟产品的不断发展过程。早期,国外一些可免费下载使用的电子邮件系统(如Sendmail、Qmail等)曾被国内用户广泛采用。这些系统可满足一定用户数的基本邮件收发需求,但随着用户数规模的扩大和本地化、专业化电子邮件功能、性能需求的日益提升,这些免费“舶来品”的缺陷日益突出:系统性能随着用户数的增多急剧下降;可靠性低,收发邮件不稳定甚至丢失邮件;安全性差,易被黑客攻击,商业机密易泄露;中文处理经常出现问题,代码之间难转换等。这些传统电子邮件系统的缺陷促使了国内自主开发、自主品牌的电子邮件系统的诞生。 二、课题研究的主要内容和预期目标 主要内容: 本课题研究的是一个电子邮件收发系统,以C++Builder 6.0为开发环境。 预期目标: 设计一款简单的电子邮件系统,具备一般电子邮件的基本功能。能进行邮件的收发, 发送附件,邮件杀毒,垃圾邮件过滤,来邮件手机短信提醒等功能。 三、课题研究的方法及措施 关于C++ builder C++ builder是Inprise公司(原Borland公司)1998年推出的,面向对象的32位Windows程序设计开发工具。C++ builder不仅继承了Delphi使用简便、功能强大、效率高等特点,而且它还结合看

高中信息技术 第四章 第五节 接收和发送电子邮件教案 浙教版

课题:接收和发送电子邮件 教学时间:授课班级: 教学目标: 1、了解电子邮件的接收和发送 2、学习outlook Express的使用 3、掌握接收和发送电子邮件的方法 教学重点: 制作电子邮件;接收和发送电子邮件;附加文件的邮件 教学难点:完整的收件人地址;电子邮件是否发出 教学过程: 一、课程导入: 在上一节课,我们已经成功地申请了免费的电子邮箱,看到了许多漂亮的网站,下载了部分软件和文章。我们怎样把这些信息告诉给同学、朋友和亲人?(打电话、写信、电报、传真、传呼、发电子邮件。)在这当中,那一种方式既快捷又经济呢?电子邮件。好!怎样接收和发送电子邮件呢?这是我们今天要学习的内容。板书:接收和发送电子邮件。要发电子邮件,我们必须接通互联网。因此,在学校里,老师接通互联网。在家里,我们自己拨号上网。当这一条件具备了时,才能收发电子邮件。接收和发送电子邮件,既可用网站的免费邮件系统,也可用专用软件outlook等. 二、新课教授: 一)、基本知识 1、启动outlook Express. 2、认识outlook Express界面. 1)、文件夹窗口. 2)、邮件主题列表窗口. 3)、邮件预览窗口. 二)、发送电子邮件 1、制作电子邮件 1)、单击"新邮件"按钮. 2)、认识新邮件窗口. ①收件人的格式是:用户名@邮件服务器域名例如:teacher@https://www.doczj.com/doc/1515053731.html, jzl@https://www.doczj.com/doc/1515053731.html,.如果同一邮件要发送给多个人,可用逗号或分号把邮箱地址隔开. ②"抄送"和"密件抄送"的格式和第一条一样. ③在"主题"里,可以自己命名.例如:信件、通知、hello等 ④在"正文"中,书写我们表达的内容. 3)、附加文件. 方法:插入→附件→选文件名→打开或单击"附加"按钮 备注:附加其它软件编辑的作品,如文本、图片、软件等。 收件人方面必须要有该软件. 4)、保存电子邮件.

pop3-imap-exchange协议

Internet的基本协议是TCP/IP协议,然而在TCP/IP模型最上层的是应用层(Applicationlayer),它包含所有高层的协议。高层协议有:文件传输协议FTP、电子邮件传输协议SMTP、域名系统服务DNS、网络新闻传输协议NNTP和HTTP协议等。 HTTP协议(Hypertext Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。这就是你为什么在浏览器中看到的网页地址都是以“http://”开头的原因。 POP3(Post Office Protocol 3) POP适用于C/S结构的脱机模型的电子邮件协议,目前已发展到第三版,称POP3。,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。 IMAP(Internet消息访问协议)是与POP3对应的另一种协议,为美国斯坦福大学在1986年开始研发的多重邮箱电子邮件系统。它能够从邮件服务器上获取有关E-mail的信息或直接收取邮件,具有高性能和可扩展性的优点。IMAP 为很多客户端电子邮件软件所采纳,如OutlookExpress、NetscapeMessenger 等,支持IMAP的服务器端的软件也越来越多,如CriticalPath、Eudora、iPlanet、Sendmail等。 POP3 和IMAP4 功能概述 这两个协议具有下列优点和局限性: ?POP3 POP3 用于支持脱机邮件处理。使用 POP3 时,如果未将客户端设置为在服务器上保留邮件,电子邮件将从服务器中删除并存储在本地POP3 客户端上。这会使数据管理和安全责任都转由用户负责。POP3 不提供高级协作功能,例如日历、联系人和任务。 ?IMAP4 IMAP4 可提供脱机和联机访问功能,但与POP3 一样,IMAP4 不提供高级协作功能,例如日历、联系人和任务。 POP3 和IMAP4 无法用于将邮件从客户端应用程序发送到电子邮件服务器。使用 POP3 和IMAP4 发送邮件的电子邮件应用程序依赖SMTP 协议来发送邮件。会在每个中心传输服务器上自动创建用于从使用POP3 或IMAP4 的客户端应用程序接收电子邮件提交的连接器。有关连接器的详细信息,请参阅了解接收连接器。

电子邮箱服务合同范本

正文: 电子邮箱服务合同 电子邮箱服务合同 1.服务条款的确认和接纳 网站收费电子邮件服务系统(收费邮箱)的所有权、经营管理权和解释权归_________(以下简称网站)所有。用户如需使用该项服务,须仔细阅读并严格遵守网站制定的《收费邮箱服务合同》(以下简称本条款),完成其他注册程序和缴纳所需费用之后,才能成为收费邮箱服务系统的用户。 2.服务所需要的设备和其他条件 为使用网站收费邮箱服务,用户必须: (1)拥有接入互联网的硬件设备和软件工具,包括计算机、调制解调器、有关软件和设置,或者其它必备的上网装置和进行有关设置。 (2)支付接入互联网的电话线路占用费用、网络服务费用以及信箱服务费用。 3.服务介绍 网站运用自己的电子邮件按照服务条款通过国际互联网络为用户提供有偿的发送、传送和收取电子邮件以及其他和电子邮件相关使用功能的服务。 考虑到收费电子邮箱服务的重要性和安全性,用户: (1)在注册时,应按照注册提示提供详尽、真实及准确的个人资料。 (2)如个人资料有任何变动,用户有必要及时更新自己的注册信息。 (3)同意各项服务条款且具备确认本服务条款和接受收费电子邮箱服务的相应民事行为能力。 (4)支付相应的服务费用。 如果用户违反上述规定,网站保留终止或结束该用户使用收费邮箱的权利。 4.服务开通、续费及冻结和终止 (1)用户表示接受本条款并完成相应的注册程序,在缴纳相应的服务费用后,便成为收费邮箱的合法用户。 (2)如收费电子邮箱通过_________代收方式缴纳服务费用,用户在每月交纳手机费的同时应交纳网站收费邮箱服务费用。用户逾期交纳服务费用的,则按_________关于迟延付费的相应规定办理,并且网站有权按本服务条款第3条执行。 (3)用户在服务期满没有续缴服务费用,网站将向用户发出续费提醒通知,如果受到通知后1个月之内没有缴纳所需费用,网站将终止向用户提供收费电子邮箱服务,并取消用户的帐号。 5.服务条款的完善和修改 网站保留在必要时对收费邮箱服务条款(包括但不限于本条款)进行不断完善和修改的权利。网站收费邮箱服务条款一旦发生变动,将以尽可能的方式

电子邮件客户端毕业论文报告

学海无涯苦作舟! 南京理工大学 毕业设计说明书(论文) 作者: 学号: 学院(系):计算机科学与技术 专业: 网络工程 题目: 电子邮件客户端的设计与实现

学海无涯苦作舟! 毕业设计说明书(论文)中文摘要

毕业设计说明书(论文)外文摘要

1 引言 (3) 1.1电子邮件介绍 (3) 1.2电子邮件的工作原理 (4) 1.3电子邮件技术现状 (4) 1.3.1 端到端的安全电子邮件技术 (4) 1.3.2 传输层的安全电子邮件技术 (5) 1.4 开发环境及运行环境 (6) 2 应用系统开发理论基础 (6) 2.1 SMTP介绍 (6) 2.1.1 SMTP的工作原理及其模型 (8) 2.1.2 SMTP协议的命令和应答 (9) 2.2 POP3协议 (12) 2.2.1 POP3协议简介 (12) 2.2.2 POP3协议简介 (12) 2.3 jmail组建简介及其特点 (13) 2.3.1 jmail组建简介 (13) 2.3.2 Jmail的特点 (13) 2.4 MFC简介 (13) 2.4.1 MFC概述 (13) 2.4.2 MFC中对话框类型 (14) 3 邮件客户端总体设计 (14) 3.1 系统总框架 (15) 3.2程序功能图 (15) 4 邮件客户端详细设计及实现 (16) 4.1 数据库模块的的设计与实现 (16) 4.1.1数据库表的设计 (16) 4.1.2 关键数据库操作功能代码 (18) 4.2 邮件发送模块的的设计与实现 (20) 4.2.1类和界面的设计 (20) 4.2.2关键代码 (20) 4.3 收件箱的设计与实现 (22) 4.3.1 类的设计以及组建导入 (22) 4.3.2关键代码 (24) 4.4 发件箱、草稿箱、已发送信箱的设计与实现 (28) 4.4.1类和界面的设计 (28) 4.4.2关键代码 (30) 4.5 联系人模块的设计与实现 (31)

基于SMTP协议电子邮件收发系统的设计

目录 1 引言 (1) 1.1 电子邮件介绍 (1) 1.2 开发背景 (2) 1.3 开发环境及运行环境 (2) 2 软件架构及系统用例图 (3) 2.1 系统架构 (3) 2.2 系统总体用例 (3) 2.4 发送邮件类 (4) 2.5 附加小功能类 (4) 3 SMTP协议的研究 (4) 3.1 SMTP协议简介及工作原理 (5) 3.2 SMTP协议的命令和应答 (6) 3.2.1 SMTP协议的命令 (6) 4 RFC822 (14) 4.1 RFC822简单介绍 (14) 4.2 信件的头部 (14) 5 命名控件MailSend (20) 5.1 发送邮件类SmtpMail (20) 5.2 AddExtra类 (27) 5.2.1 调用Windows API 所需的命名空间 (28) 5.2.3 在程序中具体的使用 (28) 6 软件运行时的界面 (29) 6.1 新建邮件帐号 (29) 7 系统测试 (32) 7.1 同一SMTP服务器发送邮件的测试 (32) 7.2 利用不同的SMTP服务器发送邮件的测试 (32) 8 结论 (34) 第I 页共II 页

参考文献 (35) 第II 页共II 页

1 引言 1.1 电子邮件介绍 电子邮件(简称E-mai1)又称电子信箱、电子邮政,它是—种用电子手段提供信息交换的通信方式。它是全球多种网络上使用最普遍的一项服务。这种非交互式的通信,加速了信息的交流及数据传送,它是—个简易、快速的方法。通过连接全世界的Internet,实现各类信号的传送、接收、存贮等处理,将邮件送到世界的各个角落。到目前为止,可以说电子邮件是Internet资源使用最多的一种服务,E-mai1不只局限于信件的传递,还可用来传递文件、声音及图形、图像等不同类型的信息。 电子邮件不是一种“终端到终端”的服务,是被称为“存贮转发式”服务。这正是电子信箱系统的核心,利用存贮转发可进行非实时通信,属异步通信方式。即信件发送者可随时随地发送邮件,不要求接收者同时在场,即使对方现在不在,仍可将邮件立刻送到对方的信箱内,且存储在对方的电子邮箱中。接收者可在他认为方便的时候读取信件,不受时空限制。在这里,“发送”邮件意味着将邮件放到收件人的信箱中,而“接收”邮件则意味着从自己的信箱中读取信件,信箱实际上是由文件管理系统支持的—个实体。因为电子邮件是通过邮件服务器(mai1 server)来传递档的。通常mail server是执行多任务操作系统UNIX的计算机,它提供24小时的电子邮件服务,用户只要向mail server管理人员申请—个信箱账号,就可使用这项快速的邮件服务。 电子邮件的工作原理: 1) 电子邮件系统是一种新型的信息系统,是通信技术和计算机技术结合的产物。 电子邮件的传输是通过电子邮件简单传输协议(Simple Mail Transfer Protocol,简称SMTP)这一系统软件来完成的,它是Internet下的一种电子邮件通信协议。 2) 电子邮件的基本原理,是在通信网上设立“电子信箱系统”,它实际上是一个计算机系统。系统的硬件是一个高性能、大容量的计算机。硬盘作为信箱的存储介质,在硬盘上为用户分一定的存储空间作为用户的“信箱”,每位用户都有属于自己的—个电子信箱。并确定—个用户名和用户可以自己随意修改的口令。存储空间包含存放所收信件、编辑信件以及信件存盘三部分空间,用户使用口令开启自己的信箱,并进行发信、读信、编辑、转发、存档等各种操作。系统功能主要由软件实现。 3) 电子邮件的通信是在信箱之间进行的。用户首先开启自己的信箱,然后通过键 第 1 页共36 页

基于Exchange和Windows的电子邮件系统管理毕业论文

基于Exchange和Windows的电子系统管理毕业论文 目录 第一章系统概述 (3) 1.1系统概况 (3) 1.2系统结构 (3) 第二章管理规 (5) 2.1管理体系 (5) 2.2岗位职责 (5) 2.3管理守则 (6) 第三章活动目录和基础知识 (8) 3.1活动目录的逻辑结构 (8) 3.2活动目录的对象安全性 (10) 3.3DNS和活动目录 (10) 3.4加入域和域成员的登录 (12) 3.5活动目录站点知识 (12) 3.6活动目录的信任 (12) 3.7基础概念 (13) 3.7.1客户端支持 (13) 3.7.2传递和路由 (14) 第四章管理环境 (15) 4.1管理环境准备 (15) 4.2管理环境安装检查 (15) 4.3管理环境安装 (16)

4.4管理工具使用 (21) 4.5管理工具删除和维护 (23) 4.6管理工具注意点 (24) 4.7管理工具简介 (26) 第五章管理 (27) 5.1连接到一台域控制服务器 (27) 5.2创建用户 (28) 5.3创建联系人 (37) 5.4删除用户 (42) 5.5删除联系人 (47) 5.6查看和修改用户属性 (49) 5.7管理用户组和列表 (53) 5.8管理组织单元 (63) 5.9移动用户 (65) 第六章支持流程 (68) 6.1申请流程 (68) 6.1.1用户帐户、用户组申请 (68) 6.1.2部门组织单位(部门OU)申请 (68) 6.1.3批量开户 (68) 6.1.4电子管理员申请 (68) 6.1.5VPN申请 (69) 6.2故障处理流程 (70) 第七章常见问题处理 (71) 第八章附件 (72)

试验七 电子邮件协议

试验七电子邮件协议(SMTP, POP3和IMAP) 练习一:使用Outlook发送电子邮件 1. 主机B启动协议分析器进行数据捕获,并设置过滤条件(提取SMTP协议)。 2. 主机A打开邮件工具Outlook Express并设置一个邮件帐号,邮件接收服务器为POP3, 编辑并发送一封电子邮件给主机A。注:Outlook使用方法及具体配置见附录 3. 察看主机B捕获的数据,保存会话命令(方法:会话交互视图/单击右键/保存会话命令菜单,保存为Smtp.zdt)。 (1)SMTP使用的TCP端口是25。 (2)找出传输用户帐号及密码的数据包,能不能看到用户密码?答:能。 (3)结合Smtp.zdt的SMTP传输过程,填写下表。 表15-5 实验结果 ●邮件的内容首部包括一些关键信息,如From、Subject、To等,请分析邮件首部格式。 ●分析在邮件的首部字段中有关MIME的信息。 练习二:使用Outlook接收电子邮件 本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。 1. 使用POP3协议接收 (1)主机B启动协议分析器进行数据捕获,并设置过滤条件(提取POP3协议)。

(2)主机A接收练习一中发送的邮件。 (3)察看主机B捕获的数据,保存会话命令(方法:会话交互视图/单击右键/保存会话命令菜单,保存为POP3.zdt)。 ● POP3使用的TCP端口是110 。 ●找出传输用户帐号及密码的数据包,能不能看到用户密码? 答:能。 ●结合POP3.zdt的内容,分析POP3协议的工作过程并画出邮件接收过程简图,比较它与SMTP协议的不同点。 答:POP3是POP(电子邮局传输协议)的第三个版本,是规定了怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是Internet电子邮件的第一个离线协议标准。简单点说,POP3就是一个简单而实用的邮件信息传输协议。 SMTP(简单邮件传输协议)是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP服务器就是遵循SMTP协议的发送邮件服务器。 ●找到接收邮件内容的报文(命令RETR的响应报文),察看是否与发送的内容一致? 答:一致。 使用IMAP协议接收 (1)主机B重新进行数据捕获,并设置过滤条件(提取IMAP协议)。 (2)主机A使用Outlook Express设置一个邮件账号,邮件接收服务器为IMAP。发送一封邮件并对其接收。 (3)察看主机B捕获的数据,保存会话命令(会话交互视图/单击右键/保存会话命令菜 2.单,保存为IMAP.zdt)。 ● IMAP使用的TCP端口是143 。 ●找出传输用户帐号及密码的数据包,能不能看到用户密码? 答:能。 ●结合IMAP.zdt的内容,分析IMAP协议的工作过程并画出邮件接收过程简图,比较它与POP3协议的异同点。 答:POP3提供了快捷的邮件下载服务,用户可以利用POP3把邮箱里的信下载到PCh上进行离线阅读。一旦邮件进入PC的本地硬盘,就可以选择把邮件从服务器上删除,然后脱离Internet的连接并选择在任何时候阅读已经下载的邮件。 IMAP同样提供了方便的邮件下载服务,让用户服务能进行离线阅读,但IMAP能完成的却远远不只这些。首先,IMAP提供的摘要浏览功能可以让你阅读完所有的邮件到达时间、主题、发件人、大小等信息后才作出是否下载的决定。也就是说,你不必等所有的邮件都下载完毕后才知道空间邮件里都有些什么。如果你根据摘要信息就可以决定某些邮件对你毫无用处,你就可以直接在服务器上把这些邮件删除掉,而不必浪费你宝贵的上网时间。 练习三:使用TCP工具和SMTP命令实现邮件发送 本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A、

相关主题
文本预览
相关文档 最新文档