站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题javamail 发邮件出现错误,帮我看看,谢谢了!~~

javamail 发邮件出现错误,帮我看看,谢谢了!~~

摘要: javamail 发邮件出现错误,帮我看看,谢谢了!~~


1、我下载了sun的javamail,并将mail.jar 复制到了lib目录下,重启动了服务器。

2、我直接在jsp里发邮件,代码如下

<%@page contentType="text/html;charset=utf-8"%>
<%@ page import="javax.mail.*, javax.mail.internet.*,java.util.*"%>
  
  <head>
   JavaMail 电子邮件发送
</head>
<body>
<%
Properties props = new Properties();
Session sendMailSession;
Transport transport;
sendMailSession = Session.getInstance(props,null);

Message newMessage = new MimeMessage(sendMailSession);
newMessage.setFrom(new InternetAddress("test@test.com"));
newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress("wxg_bj@yahoo.com.cn"));
newMessage.setSubject("subject");
newMessage.setSentDate(new Date());
newMessage.setText("text");

props.put("mail.smtp.host","smtp.126.com");//存储发送邮件服务器的信息
props.put("mail.smtp.auth","true");//同时通过验证
transport = sendMailSession.getTransport("smtp");
transport.send(newMessage);
%>
</body>



3、提示错误如下:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Exception in JSP: /mail.jsp:14

11: Transport transport;
12: sendMailSession = Session.getInstance(props,null);
13:
14: Message newMessage = new MimeMessage(sendMailSession);
15: newMessage.setFrom(new InternetAddress("test@test.com"));
16: newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress("wxg_bj@yahoo.com.cn"));
17: newMessage.setSubject("subject");


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

javax.servlet.ServletException: javax/activation/DataSource
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.mail_jsp._jspService(mail_jsp.java:78)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

java.lang.NoClassDefFoundError: javax/activation/DataSource
org.apache.jsp.mail_jsp._jspService(mail_jsp.java:58)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.




你没有JavaBeans Activation Framework
到sun的站点去下载。
将 activation.jar 文件添加到 CLASSPATH


谢谢,确实和这个有关系。 我下再了activation.jar 放到了lib里,并在jsp里import

已经解决部分错误。但我发邮件还是有问题。

问题出在最后一行
transport.send(newMessage);
发送的时候。

是不是126.com需要smtp的用户验证,该怎么写呢?


已经搞定,谢谢

具体在我blog上

warran.blueidea.com


↑返回目录
前一篇: struts中如何显示图片
后一篇: 关于tiles的问题