:发送邮件模块和收取邮件模块。
其功能模块如图 1 所示: 3 电子邮件客户应用系统 发 接 送 收 邮 邮 件 件 图1 电子邮件功能模块图1电子邮件发送程序的主要模块 电子邮件发送程序主要由以下几个模块组成: ;①邮件服务器:用于填写收件人的邮箱服务器(可以不填)②收件人信箱:用于填写收件人的邮箱名;③发件人信箱:用于填写发件人的邮箱名;④主题:用于填写信件主题⑤正文:用于写入信件正文;⑥退出:用于退出发件程序;⑦发送:用于发送邮件;⑧关于:用于显示软件开发的相关信息。
⑨附件:可以手动添加附件并完成发送(该功能正在进一步完善中)。
(⑧⑨为本小组另行添加的功能)2电子邮件接收程序的主要模块 电子邮件接收程序主要由以下几个模块组成:①邮件服务器:用于填写需要收取信件信箱的服务器;②帐号:用于填写需要收取信件的邮箱帐号;③口令:用于填写需要收取信件的邮箱密码;④邮件列表:显示邮箱中所有邮件的列表;⑤正文:当选中邮件列表中任一邮件时,显示该封信件的具体内容;⑥退出:用于退出接收邮件程序;⑦收取:用于收取信件。
4 第三章 程序测试(运行截图)3.1 添加“关于”标签的测试 在原设计的基础上我添加了一个“关于”的标签,点击该按钮会弹出一个小的对话框,其中的内容一些关于邮件方面的相关帮助信息。
程序的运行结果如图 1 所示。
图2 “关于”程序主界面 53.2 发送邮件的测试 图3 邮件发送主界面(不带附件) 图4 发送邮件程序主界面(加载附件) 6图5 发送邮件程序主界面(带附件) 73.3 收取邮件的测试 图 6 收取电子邮件程序主界面 8 第四章 设计总结4.1 课程小结 在邮件发送程序中,用户可以利用 SMPT 服务器向朋友发送电子邮件,也可以直接尝试链接朋友的 E-mail 信箱所在的服务器。
这次课程设计我所利用的 JMail 组件封装了很强的电子邮件处理功能,如附件传递、用户的跟踪服务、发布产品信息,以及电子报刊处理等功能。
在邮件接受程序中,用户可以向 POP3 服务器收取电子邮件。
用户打开邮箱后,将利用JMail 组件创建的对象指针遍历邮箱中的所有邮件,并将邮件信息下载存放于本地计算机中,利用 List 控件的扩展属性显示邮件的正文内容。
目前我所做的这个程序还不够完整,还存在着很多的不足和不完善的地方。
归纳起来体现在以下几个方面: ①软件的功能趋于简单,真正的邮件收发工具软件包括很多方面的信息,而不仅仅局限于发送邮件和收取邮件。
真正的邮件服务软件还包括邮件导入、邮件导出、文本编辑(查找与撤消)、通讯簿、通讯规则等等功能。
②软件的图形操作功能缺乏,目前系统中对邮件附件的添加、删除功能都没有图形快捷操作,只能通过改变源程序中的代码达到添加附件的目的。
而且由于时间和知识的欠缺,整个系统的界面显得过于单调,缺乏动态显示效果。
如果能结合其它界面美化工具,使得界面更人性化,那就更好了。
4.2 个人小结 经过不懈的努力,终于完成了这次的课程设计。
其实在做这次计算机网络原理课设计实验之前,我基本上没有真正意义上的接触过 VC程序案例的设计和开发,只是通过课堂了解了一些关于 VC的最基本的知识,所以这次实验是在边学习边实践的基础上完成的。
由于知识的不足,做的结果自己不是很满意,与自己原来的设想也有些差距。
但是我也从这两个星期的设计和制作过程中学到了很多知识,对自己以后的专业学习甚至将来的工作都有很大的帮助。
9附录(源代码):1、“关于”标签的程序代码 1往头文件 StdAfx.h 中添加下列代码:define CRLF quotx0dx0aquot //注意这两行必须添加define CRLF2 CRLF CRLF 2主要代码如下:BOOL CAboutDlg::OnInitDialog CDialog::OnInitDialog // TODO: Add extra initialization here m_strEditHelp quot相关帮助信息:quot CRLF CRLF quot 一、 发送邮件服务器和发信人信箱有密切关系,假如你的信箱为 loopqq.com则发送邮件服务器一般为:smtp.qq.com,当然这也不是绝对的,你可以到你的邮件相关网站查询。
不知道服务器名的话也可以不填quot CRLF CRLF quot 二、 发信信箱格式比较灵活,如下两种格式均为合法的:1 在你的 E-Mail 首尾加小于大于符号:ltloommansina.comgt 2 直接填写你的 E-Mail:loommansina.com quot CRLF CRLF quot 三、 接受信箱可以为多个,中间用分号;隔开,例如:Pookieltpookiesina.com.cngtsnugglesltsnugglessohu.comgtltloommanhotmail.comgt某些信箱前面的部分字符串是收信人名称,例如上面的 Pookie 可以省略不写,例如下面一行 和 上 面 一 行 是 等 价 的 , 它 们 都 是 可 以 接 受 的 信 箱 输 入 格 式 。
ltpookiesina.com.cngtltsnugglessohu.comgtltloommanhotmail.comgtquot CRLF CRLF quot 四、 邮件主题,当然就是邮件的标题了,你可以随意输入自己喜爱的标题。
quot CRLF CRLF quot 五、 邮件正文就是你要发给对方的信息。
quot CRLF CRLF quot 六、 最后不得不提一下,由于当今好多发送邮件服务器都要求身份验证,也就是需要提供的你的信箱密码,鉴于技术问题,这类信箱本程序暂时不支持。
quot CRLF CRLF 10 UpdateDataFALSE // Update the Dialog return TRUE // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE2、发送邮件程序代码: 1往头文件 StdAfx.h 中添加 JMail 对象的声明这样才能在整个程序中应用 JMail 对象.代码如下:import quotC:jmailjmail.dllquot //显示指定 JMail 动态链接库using namespace jmail //定义程序中 JMail 对象的名称 2 头 文 件 MailServer.h 利 用 ClassWizard 类 项 导 添 加 退 出 应 用 程 序 的 函 数ExitInstnace.源代码如下:// Overrides // ClassWizard generated virtual function overrides //AFX_VIRTUALCMailServerApp public: virtual BOOL InitInstance virtual int ExitInstance //AFX_VIRTUAL 3源文件 MailServer.cpp类 CMailServerApp 的实现文件. 1由于程序中应用了 JMail 组件因此必须在 InitInstance函数中添加如下代码进行应用程序的初始化.BOOL CMailServerApp::InitInstance AfxEnableControlContainer ::CoInitializeNULLifdef _AFXDLL Enable3dControls // Call this when using MFC in a shared DLL…… 2应用程序时在 ExitInstance函数中添加释放各变量的代码.//应用程序退出时int CMailServerApp::ExitInstance // TODO: Add your specialized code here and/or call the base class return CWinApp::ExitInstance ::CoUninitialize 4MailServerDlg.h 中CMailServerDlg 类的接口. 1在头文件 MailServerDlg.h 中添加各控件的控件变量如下表所示. 控件 控件变量 11 IDC_EDIT_MAILSERVER m_strmailserver IDC_EDIT_RECIPIENTS m_strrecipients IDC_EDIT_SENDER m_strsender IDC_EDIT_SUBJECT m_strsubject IDC_EDIT_BODY m_strbody 2利用 ClassWizard 添加 IDOK 控件的 ON_BN_CLICKED 事件函数代码如下:Protected: //AFX_MSGCMailServerDlg …… Afx_msg void OnSend //AFX_MSG …… 3源文件 MailServerDlg.cpp类 CMailServerDlg 的实现文件.打开 MailServerDlg.cpp文件添加发送邮件函数 OnSend的代码如下://发送邮件程序 void CMailServerDlg::OnSend // TODO: Add your control notification handler code here UpdateData //获取 Edit 控件中的字符串 m_strmailserver.TrimLeft
上一篇:
利用Debug函数实现API函数的跟踪
下一篇:
恋沫