<%@   page   import="   javax.mail.*,   javax.mail.internet.*,   javax.activation.*,java.util.*"   %>     
  <%@   page   contentType="text/html;charset=GB2312"   %>   
  <%request.setCharacterEncoding("gb2312");%>   
  <html>   
  <head>   
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">   
  <title>发送成功</title>   
  </head>   
  <body>   
  <%   
  try{   
  //从html表单中获取邮件信息   
  String   tto=(String)request.getParameter("mail");//发信人   
  String   ttitle=(String)request.getParameter("caption");//标题   
  String   tcontent=(String)request.getParameter("body");//内容   
    
  Properties   props=new   Properties();//也可用Properties   props   =   System.getProperties();     
  props.put("mail.smtp.host","smtp.21cn.com");//存储发送邮件服务器的信息   
  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("smtp.21cn.com","crhwan","guowen1984");//以smtp方式登录邮箱   
  transport.sendMessage(message,message.getAllRecipients());//发送邮件,其中第二个参数是所有   
  //已设好的收件人地址   
  transport.close();   
    
  %>   
  <div   align="center">   
  <p><font   color="#FF6600">发送成功!</font></p>   
  <br>   
  </div>   
  <%   
  }catch(MessagingException   e){   
  out.println(e.toString());   
  }   
  %>   
  </body>   
  </html>

解决方案 »

  1.   

    错误提示
    type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 14 in the jsp file: /sendmail.jsp
    Session cannot be resolved to a type
    11:     // make it set System's properties
    12:  Properties props=new Properties();
    13:  // 创建专用于发送email的session对象
    14:  Session sendMailSession;
    15:  //Transport 是专用于发送邮件的类
    16:  Transport transport;
    17:  //得到一个session对象
    An error occurred at line: 16 in the jsp file: /sendmail.jsp
    Transport cannot be resolved to a type
    13:  // 创建专用于发送email的session对象
    14:  Session sendMailSession;
    15:  //Transport 是专用于发送邮件的类
    16:  Transport transport;
    17:  //得到一个session对象
    18:  sendMailSession =Session.getInstance(props,null);
    19:  // 在系统中属性中设置发送邮件服务器
    An error occurred at line: 18 in the jsp file: /sendmail.jsp
    Session cannot be resolved
    15:  //Transport 是专用于发送邮件的类
    16:  Transport transport;
    17:  //得到一个session对象
    18:  sendMailSession =Session.getInstance(props,null);
    19:  // 在系统中属性中设置发送邮件服务器
    20:  props.put("mail.smtp.host","localhost");
    21:  //Message类是专用于描述发送邮件信息的类,Message是抽象类,我们得到的是MimeMessage 类的对象
    An error occurred at line: 22 in the jsp file: /sendmail.jsp
    Message cannot be resolved to a type
    19:  // 在系统中属性中设置发送邮件服务器
    20:  props.put("mail.smtp.host","localhost");
    21:  //Message类是专用于描述发送邮件信息的类,Message是抽象类,我们得到的是MimeMessage 类的对象
    22:  Message newMessage =new MimeMessage(sendMailSession);
    23:  //设置发件人
    24:  newMessage.setFrom(new InternetAddress(request.getParameter("from")));
    25:  //设置收件人
    An error occurred at line: 22 in the jsp file: /sendmail.jsp
    MimeMessage cannot be resolved to a type
    19:  // 在系统中属性中设置发送邮件服务器
    20:  props.put("mail.smtp.host","localhost");
    21:  //Message类是专用于描述发送邮件信息的类,Message是抽象类,我们得到的是MimeMessage 类的对象
    22:  Message newMessage =new MimeMessage(sendMailSession);
    23:  //设置发件人
    24:  newMessage.setFrom(new InternetAddress(request.getParameter("from")));
    25:  //设置收件人
    An error occurred at line: 24 in the jsp file: /sendmail.jsp
    InternetAddress cannot be resolved to a type
    21:  //Message类是专用于描述发送邮件信息的类,Message是抽象类,我们得到的是MimeMessage 类的对象
    22:  Message newMessage =new MimeMessage(sendMailSession);
    23:  //设置发件人
    24:  newMessage.setFrom(new InternetAddress(request.getParameter("from")));
    25:  //设置收件人
    26:  newMessage.setRecipient(Message.RecipientType.TO,new InternetAddress(request.getParameter("to")));
    27:  newMessage.setSubject(request.getParameter("subject"));//设置主题
    An error occurred at line: 24 in the jsp file: /sendmail.jsp
    Syntax error on token "Invalid Character", ) expected
    21:  //Message类是专用于描述发送邮件信息的类,Message是抽象类,我们得到的是MimeMessage 类的对象
    22:  Message newMessage =new MimeMessage(sendMailSession);
    23:  //设置发件人
    24:  newMessage.setFrom(new InternetAddress(request.getParameter("from")));
    25:  //设置收件人
    26:  newMessage.setRecipient(Message.RecipientType.TO,new InternetAddress(request.getParameter("to")));
    27:  newMessage.setSubject(request.getParameter("subject"));//设置主题
    An error occurred at line: 26 in the jsp file: /sendmail.jsp
    Message.RecipientType.TO cannot be resolved to a type
    23:  //设置发件人
    24:  newMessage.setFrom(new InternetAddress(request.getParameter("from")));
    25:  //设置收件人
    26:  newMessage.setRecipient(Message.RecipientType.TO,new InternetAddress(request.getParameter("to")));
    27:  newMessage.setSubject(request.getParameter("subject"));//设置主题
    28:  newMessage.setSentData(new Data());//设置发送时间
    29:  newMessage.setText(request.getParameter("text"));
    An error occurred at line: 26 in the jsp file: /sendmail.jsp
    InternetAddress cannot be resolved to a type
    23:  //设置发件人
    24:  newMessage.setFrom(new InternetAddress(request.getParameter("from")));
    25:  //设置收件人
    26:  newMessage.setRecipient(Message.RecipientType.TO,new InternetAddress(request.getParameter("to")));
    27:  newMessage.setSubject(request.getParameter("subject"));//设置主题
    28:  newMessage.setSentData(new Data());//设置发送时间
    29:  newMessage.setText(request.getParameter("text"));
    An error occurred at line: 28 in the jsp file: /sendmail.jsp
    Data cannot be resolved to a type
    25:  //设置收件人
    26:  newMessage.setRecipient(Message.RecipientType.TO,new InternetAddress(request.getParameter("to")));
    27:  newMessage.setSubject(request.getParameter("subject"));//设置主题
    28:  newMessage.setSentData(new Data());//设置发送时间
    29:  newMessage.setText(request.getParameter("text"));
    30:  // 得到Transport类的实例
    31:  tansport =sendMailSession.getTransport("smtp");
    An error occurred at line: 31 in the jsp file: /sendmail.jsp
    tansport cannot be resolved
    28:  newMessage.setSentData(new Data());//设置发送时间
    29:  newMessage.setText(request.getParameter("text"));
    30:  // 得到Transport类的实例
    31:  tansport =sendMailSession.getTransport("smtp");
    32:  transport.send(newMessage);
    33:  %>
    34:  <p>Your mail has been set.<p>
    An error occurred at line: 36 in the jsp file: /sendmail.jsp
    MessagingException cannot be resolved to a type
    33:  %>
    34:  <p>Your mail has been set.<p>
    35:  <%
    36:    }catch(MessagingException  m) {
    37:      out.println(m.toString());
    38:    }
    39:  %>
    An error occurred at line: 37 in the jsp file: /sendmail.jsp
    m cannot be resolved
    34:  <p>Your mail has been set.<p>
    35:  <%
    36:    }catch(MessagingException  m) {
    37:      out.println(m.toString());
    38:    }
    39:  %>
    40: </body>
    Stacktrace:
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:423)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:317)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:282)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.