下面是错误信息
java.lang.SecurityException: Access to default session denied
at javax.mail.Session.getDefaultInstance(Session.java:175)
at mailsentservlet.doPost(mailsentservlet.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:536)

解决方案 »

  1.   

    import javax.mail.internet.*;  /** 
     * @author Bromon 
     */ 
     public class SenderWithSMTPVer 
     { 
     String host=""; 
     String user=""; 
     String password="";  public void setHost(String host) 
     { 
      this.host=host; 
     }  public void setAccount(
     String user,String password) 
     { 
      this.user=user; 
      this.password=password; 
     }  public void send(String from,String to, String subject,String content) 
     { 
      Properties props = new Properties(); 
      props.put("mail.smtp.host", host);
      //指定SMTP服务器 
      props.put("mail.smtp.auth", "true");
      //指定是否需要SMTP验证 
      try 
      { 
       Session mailSession = Session.getDefaultInstance(props); 
        
       mailSession.setDebug(true);
       //是否在控制台显示debug信息 
        
       Message message=new MimeMessage(mailSession); 
       message.setFrom(new InternetAddress(from));
      // //发件人 
       message.addRecipient(Message.RecipientType.TO,
       new InternetAddress(to));
      // //收件人 
        
       message.setSubject(subject);
       //邮件主题 
       message.setText(content);
       //邮件内容 
       message.saveChanges(); 
        
       Transport transport = mailSession.getTransport("smtp"); 
       transport.connect(host, user, password); 
       transport.sendMessage(message, message.getAllRecipients()); 
       transport.close(); 
      }catch(Exception e) 
      { 
       System.out.println(e); 
      } 
       
     }  public static void main(String args[]) 
     { 
      SenderWithSMTPVer sm=new SenderWithSMTPVer();   String content ;
      content = "";
      sm.setHost("smtp.163.com");
      //指定要使用的邮件服务器 
      sm.setAccount("","");
      //指定帐号和密码   /* 
     * @param String 发件人的地址 
       * @param String 收件人地址 
       * @param String 邮件标题 
       * @param String 邮件正文 
      */ 
      sm.send("","","test",content); 
     }  }上面是发邮件的源代码 我不知道你怎么写的
    transport.close(); 应该是做清理工作的吧