好像是jsp语法问题,先检查一下jsp语法有无错误再做调试

解决方案 »

  1.   

    xiongdi  我看了一下。。好象代码没有出错啊。。我用几个程序都出错了。。
    我又有的代码。
    <%@ 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","smtp.163.com");//存储发送邮件服务器的信息 
    props.put("mail.smtp.auth","true");//同时通过验证 
    Session s=Session.getInstance(props);//根据属性新建一个邮件会话 
    s.setDebug(true); MimeMessage message=new MimeMessage(s);//由邮件会话新建一个消息对象 //设置邮件 
    InternetAddress from=new InternetAddress(""); 
    message.setFrom(from);//设置发件人 
    InternetAddress to=new InternetAddress("[email protected]"); 
    message.setRecipient(Message.RecipientType.TO,to);//设置收件人,并设置其接收类型为TO 
    message.setSubject("jsakfj");//设置主题 
    message.setText("kdjsfk");//设置信件内容 
    message.setSentDate(new Date());//设置发信时间 //发送邮件 
    message.saveChanges();//存储邮件信息 
    Transport transport=s.getTransport("smtp"); 
    transport.connect("smtp.163.com","","");//以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="index.htm">再发一封</a> </p> 
    </div> 
    <% 
    }catch(MessagingException e){ 
    out.println(e.toString()); 

    %> 
    </body> 
    </html> 
    ***报错如下***javax.mail.internet.AddressException: Illegal address in string ``'' 知道的兄弟帮帮忙看看。。我在次感恩不尽。
      

  2.   

    String host = "yourmailhost";
    String to = request.getParameter("to");
    String from = request.getParameter("from");
    String subject = request.getParameter("subject");
    String messageText = request.getParameter("body");这些应该做是否为"" 和NULL的异常处理...
      

  3.   

    程序出现了null指针错误
    检查下你的收发地址是否存在!
      

  4.   

    String host = "yourmailhost"这个HOST是不是随便设置的呢??还是有一定的要求。??
      

  5.   

    root cause java.lang.NullPointerException
    javax.mail.internet.InternetAddress.parse(InternetAddress.java:534)
    javax.mail.internet.InternetAddress.<init>(InternetAddress.java:61)
    org.apache.jsp.dianziyoujian.mail_jsp._jspService(mail_jsp.java:82)
    从上面信息看应是空指针错误,请检查你的from和to变量的值是否为null
      

  6.   

    现在出现了新的问题。。***
    报错如下:
    javax.servlet.ServletException: Sending failed;
      nested exception is: 
    javax.mail.MessagingException: Could not connect to SMTP host: pop3.sohu.com, port: 25;
      nested exception is: 
    java.net.ConnectException: Connection refused: connect
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
    org.apache.jsp.dianziyoujian.mail_jsp._jspService(mail_jsp.java:102)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause javax.mail.SendFailedException: Sending failed;
      nested exception is: 
    javax.mail.MessagingException: Could not connect to SMTP host: pop3.sohu.com, port: 25;
      nested exception is: 
    java.net.ConnectException: Connection refused: connect
    javax.mail.Transport.send0(Transport.java:219)
    javax.mail.Transport.send(Transport.java:81)
    org.apache.jsp.dianziyoujian.mail_jsp._jspService(mail_jsp.java:87)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    我要怎么样设置我的机子。。呢!我在CMD 中能成功地发送 msgsend.java文件
      

  7.   

    java.net.ConnectException: Connection refused: connect估计是你要发送邮件的服务器设置错误。
    用户名、密码怎么没有看到设置?
      

  8.   

    transport.connect(MAIL_SERVER,MAIL_USER,MAIL_PASSWORD);
      

  9.   

    兄弟在我这代码的基础上 怎么样加地址验证代码啊。。我看的都是javaBean的代码。。谁能告诉我啊!
      

  10.   

    //设置邮件 
    InternetAddress from=new InternetAddress(""); 怎么能为空呢?transport.connect("smtp.163.com","","");//以smtp方式登录邮箱 
    用户名跟密码都没有楼主看来是看不懂这些代码
      

  11.   

    props.put("mail.smtp.auth","true");//需要通过身份验证才能发送邮件所以这里要求给出发送者的用户名和密码
    transport.connect("smtp.163.com","user-name","password");
    另:
      InternetAddress from=new InternetAddress(""); // 这不是合法的mail地址
      

  12.   

    shihuash11(ssh) **************************
    我的代码是从JSP 2.0***的书上超来的。。如果你有代码请给我一份。。我是刚刚学JSP的 很多问题我不能解决。。*yaray(雅睿,生活在别处,工作在别墅) ( )
    我按你的方式做了可是还是不行。transport.connect("");  这里出错了。
      

  13.   

    //设置邮件 
    InternetAddress from=new InternetAddress("你的163的邮箱地址"); transport.connect("smtp.163.com","你的163邮箱的用户名","你的163邮箱的密码");//以smtp方式登录邮箱 这下该会改了吧?
      

  14.   

    去下载一个jwebmail,参考一下就成了。
    建议别用tomcat5.0.27,换用tomcat4.1.30
      

  15.   

    验证的代码这样写:
    Transport transport = sendMailSession.getTransport("smtp");
    transport.connect("smtp.163.com","邮件地址(163的)","密码");
    transport.sendMessage(newMessage,newMessage.getAllRecipients());
    transport.close();前面的这样改:sendMailSession = Session.getInstance(props, null);
    sendMailSession.setDebug(true);props.put("mail.smtp.host", "smtp.163.com"); 
    props.put("mail.smtp.auth","true");
      

  16.   

    liuwenke(刘文科) :
    你好,乱码的怎么解决啊,指点下,谢谢先.
    我的MSN:[email protected]
      

  17.   

    package mail;
    import javax.mail.*;
    import javax.mail.internet.*;
    import java.util.*;
    import UploadFile.*;
    import org.apache.log4j.*;public class AutoSendMail {
      public AutoSendMail() {
      }
      public Log4J log4j = new Log4J();
      String host = null;
      String username = null;
      String password = null;
      public void setHost(String host){
        this.host = host;
      }  public void setAccount(String username,String password){
        this.username = username;
        this.password = password;
      }
      public void AutoSendMail(String from,String to,String cc,String subject,String content){
        Properties props = new Properties();
        props.put("mail.smtp.host", "smtp.163.com");
      //props.put("mail.smtp.auth", "true");
       try{
           Session mailSession = Session.getDefaultInstance(props);
           mailSession.setDebug(false);
           Message message=new MimeMessage(mailSession);
           message.setFrom(new InternetAddress(from));
           message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
           message.addRecipient(Message.RecipientType.CC,new InternetAddress(cc));       message.setSubject(subject);
           message.setHeader("Dear All","");
           message.setText(content);
           message.saveChanges();       Transport transport = mailSession.getTransport("smtp");
           transport.connect(host, username, password);
           transport.sendMessage(message, message.getAllRecipients());
           transport.close();
       }catch(Exception ex){
         log4j.error.error("Auto Send Mail Error : " + ex.getMessage());
         System.out.println(ex.getMessage());
       }
      }
    }
    用我的,是正确的,你要加入mail.jar  与activtion.jar.我这个程序只能发送,没有写接受的,我已经用在我们的项目上了,还可以
      

  18.   

    qjhaaaaa() 我已经编译了。。出现了16个错误。。我不知道是什么原因是不是我们的环境不一样。。你可以把你的工作环境写出来吗?
      

  19.   

    你要删除import UploadFile.*;
            import org.apache.log4j.*;
            public Log4J log4j = new Log4J();
            log4j.error.error("Auto Send Mail Error : " + ex.getMessage());
    这几句代码,然后呢from,to,cc,subject,content需要用参数传进去,你要修改这句代码
     props.put("mail.smtp.host", "smtp.163.com");修改成
     props.put("mail.smtp.host", "你自己的邮件服务器");
    绝对是可以的
      

  20.   

    我用的环境是jdk1.4.2没有什么问题,jb9
      

  21.   

    我刚才看了你的那个jsp代码了,第一个帖子的代码,你是用参数传入进去的,所以你打开页面的时候,他就会执行,就会导致你出现空指针错误
    你自己在程序里面判断一下,
    if(输入条件 != null){
       执行下面的代码。
    }
      

  22.   

    <%
    String host = "yourmailhost";
    String to = request.getParameter("to");
    String from = request.getParameter("from");
    String subject = request.getParameter("subject");
    String messageText = request.getParameter("body");
    ///////////////////////////////////////////////////////////////修改代码
    if((to != null )  || form != null..................){
    boolean sessionDebug = false;// Create some properties and get the default Session.
    Properties props = System.getProperties();
    props.put("mail.host", host);
    props.put("mail.transport.protocol", "smtp");Session mailSession = Session.getDefaultInstance(props, null);// Set debug on the Session so we can see what is going on
    // Passing false will not echo debug info, and passing true
    // will.
    mailSession.setDebug(sessionDebug);// Instantiate a new MimeMessage and fill it with the
    // required information.
    Message msg = new MimeMessage(mailSession);msg.setFrom(new InternetAddress(from));
    InternetAddress[] address = {new InternetAddress(to)};
    msg.setRecipients(Message.RecipientType.TO, address);
    msg.setSubject(subject);
    msg.setSentDate(new Date());
    msg.setText(messageText);// Hand the message to the default transport service
    // for delivery.
    Transport.send(msg);out.println("Mail was sent to " + to);
    out.println(" from " + from);
    out.println(" using host " + host + ".");%>
      

  23.   

    to:楼主我昨天给你发的一定是可以用的,MSN:[email protected]我虽然是JAVA初学者,但这个碰巧以前做过,加我msn吧