该题目自己从来都没有想到过写, 某天一朋友让自己给帮忙写一个简单的邮件发送系统的实现, 其实我没有写过,不过硬着头皮接下来了,就得做了, 广查资料, 顺便写了这篇东西,不为别的,只为记住自己曾经写过这么一个东西,也说不定以后还要接触的. OK, 废话不少了, 开始进入主题吧.
1. 一点简单的基础知识
该邮件系统采用Java开发,主要使用了其JavaMail的开发包, 它是一种可选的,能用于读取,编写和发送电子邮件的包(标准扩展). JavaMail是一种消息传送服务,用于通过网络和Internet发送和接收消息.不仅使任何Java程序之间的邮件通信变得简便,还可以像其他邮件服务一样发送邮件,并处理各种消息格式,如纯文本消息或带有附件的消息. 您可使用这种包创建邮件用户代理(Mail User Agent ,MUA) 类型的程序,它类似于Eudora、Pine及Microsoft Outlook这些邮件程序。其主要目的不是像发送邮件或其他邮件传输代理(Mail Transfer Agent,MTA)类型的程序那样用于传输、发送和转发消息。换句话说,用户可以与MUA类型的程序交互,以阅读和撰写电子邮件。MUA依靠MTA处理实际的发送任务。
2. 进入正文
接下来我们就要开始设计系统了,由于要求本身比较简单,只要实现邮件发送功能即可. 我们可以写一个主要业务Bean: Send.java, 它具体用来实现邮件发送的功能. 还要设计两个页面, 主页面为index.jsp输入的内容, 输入完成后,点击提交按钮,即可提交到另一页面sendMail.jsp, 在该页面中将输入的内容综合起来,然后调用javaBean来实现邮件发送功能. 系统的主要描述就是如此,接下来我们正式开始编写代码了.
1. 系统代码
(1).index.jsp
<%@ page language="java" import="java.io.*" pageEncoding="GBK"%>
<html>
<head>
<title>在线报名</title>
</head>
<body>
<form name="form1" action="sendMail.jsp" method="post">
<p><strong><span class="style6">在线报名</span>:</strong></p>
<p>姓名:<br />
<input id="name" name="name" type="text" size="15" />
<span class="style7">*</span><br />
<br />
年龄:<br />
<input id="age" name="age" type="text" size="6" maxlength="2" />
<span class="style7">*</span><br />
<br />
固定电话:<br />
<input id="tel" name="tel" type="text" size="15" />
<br />
<br />
手机:
<br />
<input id="mobile" name="mobile" type="text" size="15" />
<span class="style7">*</span><br />
<br />
地址:
<br />
<input id="address" name="address" type="text" value="" size="20" maxlength="2000" />
<span class="style7">*</span></p>
<p>邮编:<br />
<input name="post" type="text" size="15" />
<br />
<br />
Email:<br />
<input id="email" name="email" type="text" size="20" />
<span class="style7">*</span><br />
<br />
课程选择:<br />
<select id="name" name="course">
<option selected="selected">请选择</option>
<option value="全日班">全日班</option>
<option value="半日班">半日班</option>
<option value="暑期班">暑期班</option>
<option value="周末班">周末班</option>
<option value="晚间班">晚间班</option>
<option value="封闭式短期强化全日班">封闭式短期强化全日班</option>
</select>
<span class="style7">*</span><br />
<br />
英语水平:<br />
<select id="english" name="english">
<option selected="selected">请选择</option>
<option value="一般">一般</option>
<option value="良好">良好</option>
<option value="优秀">优秀</option>
</select>
</p>
<p>上课地址:
<br />
<select name="classaddr">
<option>请选择</option>
<option value="北京清华CBD校区">北京清华CBD校区</option>
<option value="北京二外校区">北京二外校区</option>
<option value="青岛校区">青岛校区</option>
<option value="烟台校区">烟台校区</option>
<option value="厦门校">厦门校区</option>
</select>
</p>
<p align="center">
<input type="submit" name="tijiao" value="提交" />
<input type="reset" name="chongzhi" value="重置" />
<br />
</p>
</form>
</body>
</html>
(2)sendMail.jsp
<%@ page language="java" import="java.io.*" pageEncoding="gb2312"%>
<jsp:useBean id="mail" scope="request" class="javaBean.Send"></jsp:useBean>
<%
String name,age,tel,mobile,address,post,email,course,english,classaddr,content;
%>
<%
name=request.getParameter("name");
age=request.getParameter("age");
tel=request.getParameter("tel");
mobile=request.getParameter("mobile");
address=request.getParameter("address");
post=request.getParameter("post");
email=request.getParameter("email");
course=request.getParameter("course");
english=request.getParameter("english");
classaddr=request.getParameter("classaddr");
content="姓名 :" + name + "<br>";
content+="年龄 :" + age + "<br>";
content+="固定电话 :" + tel + "<br>";
content+="手机 :" + mobile + "<br>";
content+="地址 :" + address + "<br>";
content+="邮编 :" + post + "<br>";
content+="Email :" + email + "<br>";
content+="课程选择 :" + course + "<br>";
content+="英语水平 :" + english + "<br>";
content+="上课地址 :" + classaddr + "<br>";
out.println(content); //该处为输出前一页面传送过来的值,即邮件内容(测试所用)
out.println(mail.getSender());
if(mail.sendMail(content)) {
out.println("邮件发送成功!");
}
else {
out.println("邮件发送失败,请检查后重新发送!");
}
%>