在使用 java mail与jsp时,先写了一个窗体:
<html>
<head>
<title>CH17 - JavaMail.html</title>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
</head>
<body>
<h2>利用JavaMail来发送电子邮件</h2>
<form name="Form" method="post" action="JavaMail.jsp">
<p>寄信人:<input type="text" name="From" size="30" maxlength="30"></p>
<p>收信人:<input type="text" name="To" size="30" maxlength="30"></p>
<p>主题:<input type="text" name="Subject" size="30" maxlength="30"></p>
<p>内容:</p><p><textarea name="Message" cols=40 rows=5></textarea></p>
<input type="submit" value="发送">
<input type="reset" value="清除">
</form></body>
</html>
然后写一个jsp:
<%@ page import="javax.mail.*" %>
<%@ page import="javax.mail.internet.*" %>
<%@ page import="javax.activation.*" %>
<%@ page import="java.util.*,java.io.*" %>
<%@ page contentType="text/html;charset=GB2312" %><html>
<head>
<title>CH17 - JavaMail.jsp</title>
</head>
<body><h2>利用JavaMail来传送电子邮件 </h2>
<% InternetAddress[] address = null; request.setCharacterEncoding("GB2312"); String mailserver = "pop.gmail.com";
String From = request.getParameter("From");
String to = request.getParameter("To");
String Subject = request.getParameter("Subject");
String messageText = request.getParameter("Message"); boolean sessionDebug = false;
try { // 设定所要用的Mail 服务器和所使用的传输协议
java.util.Properties props = System.getProperties();
props.put("mail.host",mailserver);
props.put("mail.transport.protocol","smtp");
// 产生新的Session 服务
javax.mail.Session mailSession = javax.mail.Session.getDefaultInstance(props,null);
mailSession.setDebug(sessionDebug);
Message msg = new MimeMessage(mailSession);
// 设定传送邮件的发信人
msg.setFrom(new InternetAddress(From));
// 设定传送邮件至收信人的信箱
address = InternetAddress.parse(to,false);
msg.setRecipients(Message.RecipientType.TO, address);
// 设定信中的主题
msg.setSubject(Subject);
// 设定送信的时间
msg.setSentDate(new Date());
// 设定传送信的MIME Type
msg.setText(messageText);
// 送信
Transport.send(msg); out.println("邮件已顺利传送");
}
catch (MessagingException mex) { mex.printStackTrace();
}
%></body>
</html>
我用的是gmail来发送邮件,在寄信人一栏中写入[email protected],收信人一栏中写入[email protected],
可是执行后却只能看到标题,请问是什么问题啊?
<html>
<head>
<title>CH17 - JavaMail.html</title>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
</head>
<body>
<h2>利用JavaMail来发送电子邮件</h2>
<form name="Form" method="post" action="JavaMail.jsp">
<p>寄信人:<input type="text" name="From" size="30" maxlength="30"></p>
<p>收信人:<input type="text" name="To" size="30" maxlength="30"></p>
<p>主题:<input type="text" name="Subject" size="30" maxlength="30"></p>
<p>内容:</p><p><textarea name="Message" cols=40 rows=5></textarea></p>
<input type="submit" value="发送">
<input type="reset" value="清除">
</form></body>
</html>
然后写一个jsp:
<%@ page import="javax.mail.*" %>
<%@ page import="javax.mail.internet.*" %>
<%@ page import="javax.activation.*" %>
<%@ page import="java.util.*,java.io.*" %>
<%@ page contentType="text/html;charset=GB2312" %><html>
<head>
<title>CH17 - JavaMail.jsp</title>
</head>
<body><h2>利用JavaMail来传送电子邮件 </h2>
<% InternetAddress[] address = null; request.setCharacterEncoding("GB2312"); String mailserver = "pop.gmail.com";
String From = request.getParameter("From");
String to = request.getParameter("To");
String Subject = request.getParameter("Subject");
String messageText = request.getParameter("Message"); boolean sessionDebug = false;
try { // 设定所要用的Mail 服务器和所使用的传输协议
java.util.Properties props = System.getProperties();
props.put("mail.host",mailserver);
props.put("mail.transport.protocol","smtp");
// 产生新的Session 服务
javax.mail.Session mailSession = javax.mail.Session.getDefaultInstance(props,null);
mailSession.setDebug(sessionDebug);
Message msg = new MimeMessage(mailSession);
// 设定传送邮件的发信人
msg.setFrom(new InternetAddress(From));
// 设定传送邮件至收信人的信箱
address = InternetAddress.parse(to,false);
msg.setRecipients(Message.RecipientType.TO, address);
// 设定信中的主题
msg.setSubject(Subject);
// 设定送信的时间
msg.setSentDate(new Date());
// 设定传送信的MIME Type
msg.setText(messageText);
// 送信
Transport.send(msg); out.println("邮件已顺利传送");
}
catch (MessagingException mex) { mex.printStackTrace();
}
%></body>
</html>
我用的是gmail来发送邮件,在寄信人一栏中写入[email protected],收信人一栏中写入[email protected],
可是执行后却只能看到标题,请问是什么问题啊?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货