<%@page import="javax.persistence.criteria.From"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.util.*" %>
<%@page import="java.io.*" %>
<%@page import="javax.mail.*" %>
<%@page import="javax.mail.internet.*" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>发送邮件</h1>
<%
//设置中文参数的编码
request.setCharacterEncoding("GBK");
//接收相应的参数
//String host=request.getParameter("Host");
String user=request.getParameter("User");
String password=request.getParameter("Password");
String From=request.getParameter("From");
String to=request.getParameter("To");
String Subject=request.getParameter("Subject");
String messageText=request.getParameter("Message");//生成SMTP的主机名称
int n=user.indexOf('@');
int m=From.length();
String mailServer="smtp."+From.substring(n+1,m);//创建JavaMail会话
Properties props=new Properties();
//指定SMTP服务器
props.put("mail.smtp.host",mailServer);
//指定是否需要SMTP验证
props.put("mail.smtp.auth", true);
//try{
//创建JavaMail会话
Session mailSession=Session.getInstance(props);
//在控制台显示debug信息
mailSession.setDebug(true);
//构建新的消息对象
Message message=new MimeMessage(mailSession);
//发件人
message.setFrom(new InternetAddress(From));
//收件人
message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
//抄送人
message.addRecipient(Message.RecipientType.CC, new InternetAddress("[email protected]"));
//邮件主题
message.setSubject(Subject);
//邮件内容
message.setText(messageText);
//发信日期
message.setSentDate(new java.util.Date());
//保存设置
message.saveChanges(); //构建传送对象
Transport transport=mailSession.getTransport("smtp");
// transport.connect(host,user,password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
out.println("<h5>邮件已顺利传送到至:"+to+"</h5>");
}catch(Exception e)
{
e.printStackTrace();
} %>
</body>
</html>
这个是代码。
下面是调试的代码
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.util.*" %>
<%@page import="java.io.*" %>
<%@page import="javax.mail.*" %>
<%@page import="javax.mail.internet.*" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>发送邮件</h1>
<%
//设置中文参数的编码
request.setCharacterEncoding("GBK");
//接收相应的参数
//String host=request.getParameter("Host");
String user=request.getParameter("User");
String password=request.getParameter("Password");
String From=request.getParameter("From");
String to=request.getParameter("To");
String Subject=request.getParameter("Subject");
String messageText=request.getParameter("Message");//生成SMTP的主机名称
int n=user.indexOf('@');
int m=From.length();
String mailServer="smtp."+From.substring(n+1,m);//创建JavaMail会话
Properties props=new Properties();
//指定SMTP服务器
props.put("mail.smtp.host",mailServer);
//指定是否需要SMTP验证
props.put("mail.smtp.auth", true);
//try{
//创建JavaMail会话
Session mailSession=Session.getInstance(props);
//在控制台显示debug信息
mailSession.setDebug(true);
//构建新的消息对象
Message message=new MimeMessage(mailSession);
//发件人
message.setFrom(new InternetAddress(From));
//收件人
message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
//抄送人
message.addRecipient(Message.RecipientType.CC, new InternetAddress("[email protected]"));
//邮件主题
message.setSubject(Subject);
//邮件内容
message.setText(messageText);
//发信日期
message.setSentDate(new java.util.Date());
//保存设置
message.saveChanges(); //构建传送对象
Transport transport=mailSession.getTransport("smtp");
// transport.connect(host,user,password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
out.println("<h5>邮件已顺利传送到至:"+to+"</h5>");
}catch(Exception e)
{
e.printStackTrace();
} %>
</body>
</html>
这个是代码。
下面是调试的代码
变量改成小写from,有可能与javax.persistence.criteria.From有冲突。