在运行时出错,希望大虾们指教 
错误提示如下: 
org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.tom.com:25 
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1138) 
at org.apache.commons.mail.Email.send(Email.java:1163) 
at com.v512.SendMailServlet.doPost(SendMailServlet.java:32) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) 
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870) 
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) 
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) 
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) 
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685) 
at java.lang.Thread.run(Thread.java:619)
 
Caused by: javax.mail.AuthenticationFailedException 
at javax.mail.Service.connect(Service.java:319) 
at javax.mail.Service.connect(Service.java:169) 
at javax.mail.Service.connect(Service.java:118) 
at javax.mail.Transport.send0(Transport.java:188) 
at javax.mail.Transport.send(Transport.java:118) 
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1128) 
... 18 more 程序代码如下: sendMailServlet.java文件 package com.v512; import java.io.IOException; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; import org.apache.commons.mail.EmailException; 
import org.apache.commons.mail.SimpleEmail; public class SendMailServlet extends HttpServlet { private static final long serialVersionUID = -9201649826567946642L; 
public void doGet(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException { 
doPost(request, response); } 
public void doPost(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException { 
request.setCharacterEncoding("UTF-8"); 
SimpleEmail email = new SimpleEmail(); 
email.setHostName("smtp.sina.com"); 
email.setAuthentication("web08", "web2008"); 
email.setCharset("UTF-8"); 
try { 
email.setFrom(request.getParameter("from")); 
email.addTo(request.getParameter("to")); 
email.setSubject(request.getParameter("subject")); 
email.setMsg(request.getParameter("content")); 
email.send(); 
request.setAttribute("sendmail.message", "邮件发送成功!"); 
} catch (EmailException e) { 
e.printStackTrace(); 
request.setAttribute("sendmail.message", "邮件发送不成功!"); 

request.getRequestDispatcher("/sendResult.jsp").forward(request, 
response); 
} } 
<%@ page pageEncoding="UTF-8" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>无标题文档 </title> 
</head> 
sendMeil.jsp 文件 
<body> 
<p align="center">发送邮件的程序 </p> 
<form id="form1" name="form1" method="post" action=" <%=request.getContextPath()%>/servlet/sendMail"> 
  <table width="516" height="253" border="0" align="center"> 
    <tr> 
      <td>收件人: </td> 
      <td> <label> 
        <input type="text" name="to" id="to" /> 
      </label> </td> 
    </tr> 
    <tr> 
      <td>发件人: </td> 
      <td> <label> 
        <input type="text" name="from" id="from" /> 
      </label> </td> 
    </tr> 
    <tr> 
      <td>主题: </td> 
      <td> <label> 
        <input type="text" name="subject" id="subject" /> 
      </label> </td> 
    </tr> 
    <tr> 
      <td>内容: </td> 
      <td> <label> 
        <textarea name="content" id="content" cols="45" rows="8"> </textarea> 
      </label> </td> 
    </tr> 
    <tr> 
      <td> <label> 
        <input type="submit" name="button" id="button" value="提交" /> 
      </label> </td> 
      <td> <label> 
        <input type="reset" name="button2" id="button2" value="重置" /> 
      </label> </td> 
    </tr> 
  </table> 
</form> 
<p align="center">&nbsp; </p> 
<p>&nbsp; </p> 
</body> </html> 
sendResult.jsp文件 <%@ page language="java"  pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
  <head> 
      
    <title>display upload result </title> 
    
<meta http-equiv="pragma" content="no-cache"> 
<meta http-equiv="cache-control" content="no-cache"> 
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
<meta http-equiv="description" content="This is my page"> 
<!-- 
<link rel="stylesheet" type="text/css" href="styles.css"> 
-->   </head> 
  
  <body> 
    <center> 
    <p> ${requestScope['sendmail.message'] } </p> 
    </center> 
  </body> 
</html> 

解决方案 »

  1.   

    这么长的代码,我这有个例子,你去看一下吧,
    http://blog.csdn.net/rascalboy520/archive/2008/06/24/2581616.aspx
      

  2.   

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>撰写邮件</title>
    </head>
    <%@ page contentType="text/html;charset=GB2312" %>
    <%request.setCharacterEncoding("gb2312");%><!--中文处理代码-->
    <body>
    <form name="form1" method="post" action="jsp1Send.jsp">
    <table width="75" border="0" align="center" cellspacing="1" bgcolor="#006600" class="black">
    <tr bgcolor="#FFFFFF">
    <td width="24%">收信人地址:</td>
    <td width="76%">
    <input name="to" type="text" id="to"></td>
    </tr>
    <tr bgcolor="#FFFFFF">
    <td>主题:</td>
    <td>
    <input name="title" type="text" id="title"></td>
    </tr>
    <tr>
    <td height="107" colspan="2" bgcolor="#FFFFFF">
    <textarea name="content" cols="50" rows="5" id="content"></textarea></td>
    </tr>
    <tr align="center">
    <td colspan="2" bgcolor="#FFFFFF">
    <input type="submit" name="Submit" value="发送">
    <input type="reset" name="Submit2" value="重置">
    </td>
    </tr>
    </table>
    </form>
    </body>
    </html>
      

  3.   

    <%@ page contentType="text/html;charset=GB2312" %>
    <%request.setCharacterEncoding("gb2312");%><!--中文处理代码--><!--引入要用到的类库-->
    <%@ page import="java.util.*,javax.mail.*"%>
    <%@ page import="javax.mail.internet.*"%><html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>发送成功</title>
    </head><body>
    <%
    try{//从html表单中获取邮件信息
    String tto=request.getParameter("to");
    String ttitle=request.getParameter("title");
    String tcontent=request.getParameter("content");Properties props=new Properties();//也可用Properties props = System.getProperties();
    props.put("mail.smtp.host","localhost");//存储发送邮件服务器的信息
    props.put("mail.smtp.auth","true");//同时通过验证
    Session s=Session.getInstance(props);//根据属性新建一个邮件会话
    s.setDebug(true);MimeMessage message=new MimeMessage(s);//由邮件会话新建一个消息对象//设置邮件
    InternetAddress from=new InternetAddress("[email protected]");
    message.setFrom(from);//设置发件人
    InternetAddress to=new InternetAddress(tto);
    message.setRecipient(Message.RecipientType.TO,to);//设置收件人,并设置其接收类型为TO
    message.setSubject(ttitle);//设置主题
    message.setText(tcontent);//设置信件内容
    message.setSentDate(new Date());//设置发信时间//发送邮件
    message.saveChanges();//存储邮件信息
    Transport transport=s.getTransport("smtp");
    transport.connect("localhost","aaaa","aaaa");//以smtp方式登录邮箱
    transport.sendMessage(message,message.getAllRecipients());//发送邮件,其中第二个参数是所有
    //已设好的收件人地址
    transport.close();%>
    <div align="center">
    <p><font color="#FF6600">发送成功!</font></p>
    <p><a href="recmail.jsp">去看看我的信箱</a><br>
    <br>
    <a href="jsp1.jsp">再发一封</a> </p>
    </div>
    <%
    }catch(MessagingException e){
    out.println(e.toString());
    }
    %>
    </body>
    </html>