图4.1 程序主界面实现图
4.2邮件发送的实现
首先进入主界面,在主界面输入邮箱、密码、邮件主题、邮件正文和目的邮箱,然后点发送,假如邮箱账号跟密码都正确的话就可以发送邮件,否则就发送不成功。
1)获取收件人账号(程序会检测输入账号合法性)。 关键代码:
String mail=mailText.getText();
String password=passwordText.getText(); // SMTP服务器需要验证:
props.put(\props.put(\
2)获取账号设臵界面中用户输入的账号和密码传入服务器。 关键代码:
// 传入用户名和口令:
Session session = Session.getDefaultInstance(props, new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(\session.setDebug(true);
9
3)邮件发送成功的提示 关键代码:
sendSuccess=new JButton(\发送成功!!\sendSuccess.setBackground(Color.red); sendSuccess.setVisible(false);
5程序测试 5.1主界面测试
本次设计中,主要用到对话框Java图形界面。Java图形界面是实现应用程序人机交互的重要组成部分。它不但可以实现数据流的输入和输出,而且也可以移动和关闭对话框。主界面有对应的按钮,方便用户使用, 如图所示:
图5.1主界面测试
5.2发送电子邮件程序测试
在上一步已经测试了账号输入,然后再收件人地址输入框中输入“huangfan@126.com”。接下来在主题输入框中输入“邮件测试”,正文中输入“黄凡0908322”,最后点击发送,当邮件发送成功会在发送旁边返回“发送成功”的信息。如图为测试邮件发送成功。
10
图5.2(a)发送电子邮件程序测试面
图5.2(b)发送电子邮件程序测试面
结论
电子邮件在Internet上发送和接收的原理可以很形象地用我们日常生活中邮寄包裹来形容:当要寄一个包裹时,首先要找到任何一个有这项业务的邮局,在填写完收件人姓名、地址等等之后包裹就寄出而到了收件人所在地的邮局,那么对方取包裹的时候就必须去这个邮局才能取出。同样的,当发送电子邮件时,这封邮件是由邮件发送服务器(任何一个都可以)发出,并根据收信人的地址判断对方的邮件接收服务器而将这封信发送到该服务器上,
11
收信人要收取邮件也只能访问这个服务器才能完成。
本文主要利用Java语言和Eclipse工具来实现邮件的几个主要功能,包括标题,正文,附件以及多方发送等。由于程序实行较为复杂,所以在一开始就做好了规划,画好流程图,做好大体框架,然后再逐一细化,再把各个模块联系起来。总体的实行流程是:1.写好邮件内容;2.通过两种协议,即SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)和POP3(Post Office Protocol,邮局协议3),使用实现注册好的邮件账号和密码进行登陆和验证;3.验证成功后,将之前写好的邮件通过服务器发送到目的地址;4.发送成功,否则返回错误报告。
参考文献
[1] 谢希仁.计算机网络.第五版[M].北京:电子工业出版社,2008.1
[2] 耿祥义,张跃平.Java大学实用教程.第二版[M].北京:电子工业出版社,2005.5 [3] 王勇,代桂平.计算机网络课程设计[M].北京:清华大学出版社,2009.6
[4] 王伟.基于JavaMail API的邮件服务的开发及实现[J].现代计算机,2004,(1):73-76 [5] (美)埃史尔.Java编程思想(第4版). 机械工业出版社.2007
[6] 陈海山.深入Java Servlet 网络编程[M].北京:清华大学出版社,2002.2 [7] Karl Moss.Java Servlet开发人员指南[M].北京:清华大学出版社,2002 [8] Liang, Y.D.. Java语言程序设计基础篇.机械工业出版社,2006 [9] 刘晓华. 精通Java核心技术.电子工业出版社,2003
[10] Bruce Eckel.Thinking in Java[M].Upper Saddle River,New Jersey,USA: Prentice Hall, 2006
12

