二.程序源码:
(1) 发送文本类型信件.这种是接收者收到后打开信箱后直接显示在邮件正文的.它主要有两个程序: mailform.html and sendmail.jsp,另外三个
程序为提交成功和不成功及发生内部错误的处理程序.
mailform.html用来输入用户信息,然后提交表单给sendmail.jsp
sendmail.jsp用来处理接收信息并处理信息,最后发送邮件.
<%--mailform.html 的源代码--%>
HTML 4.01 Transitional//EN">
mailform.html &;nbsp;
<%--sendmail.jsp 的
源代码--%>
<%@page contentType="text/html;charset=gb2312"%>
<%@page errorPage="errpage.jsp"%>
<%@page import="java.util.*"%>
<%@page import="javax.mail.*"%>
<%@page import="javax.mail.internet.*"%>
<%@page import="javax.activation.*"%>
sendmail.jsp <%
//邮件服务器的IP地址,注
意此时使用的是SMTP 邮件服务器
//String host="202.102.240.76";
//获取用户信息
String to=request.getParameter("to");
String from=request.getParameter("from");
String cc=request.getParameter("cc");
String bcc=request.getParameter("bcc");
//结合本程序的第一句,共同起显示汉字体的功能
String subject=request.getParameter("subject");
subject = new java.lang.String(subject.getBytes("iso-8859-1"));
//以上方法等同于以下两句,原理相同
//byte[] subjectTemp=request.getParameter("subject").getBytes("ISO8859_1");
//String subject=new String(subjectTemp);
byte[] messageTextTemp=request.getParameter("body").getBytes("ISO8859_1");
String messageText= new String(messageTextTemp);
boolean sessionDebug = false;
//验证所填写的邮件是否正确
if((to.trim().indexOf("@")==-1)||(to.trim().length()<5)){
%>
<%
}
if((from.trim().indexOf("@")==-1)||(from.trim().length()<5)){
%>
<%
}
//获得
系统属性对象,用下两句的任一句均可
//Properties props = System.getProperties();
Properties props=new Properties();
//设置SMTP主机
//以下一句是对任意的SMTP 邮件服务器均可,并且有了这一句,将不用设置传输协议了
props.put("mail.smtp.host", "smtp.jspinsider");
//这样将确定接收方的邮件服务器主机,
//props.put("mail.host",host);
//设置邮件传输协议方式
//props.put("mail.transport.protocol","smtp");
//获取邮件会话对象
Session mailSession = Session.getDefaultInstance(props,null);
mailSession.setDebug(sessionDebug);
try{
//创建MIME邮件对象
Message msg = new MimeMessage(mailSession);
//设置发信人
msg.setFrom(n