我们公司的网站,有个自动发送邮件的功能,服务器是weblogic8.1,用javamail来发送,邮箱是gmail的,2天前还是运行得很正常的,一直都没有什么问题,可是现在只要weblogic 一发送邮件就会报错 ,如下 :(到底是怎么回事?),如果不用weblogic,用JBuilder运行发送就可以,大家有遇到这样的情况吗?真的好奇怪啊,让我百思不得其解,希望达人相助,谢谢! javax.mail.SendFailedException: Sending failed; 
  nested exception is: 
        javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmai 
l.com, port: 465 
        at javax.mail.Transport.send0(Transport.java:219) 
        at javax.mail.Transport.send(Transport.java:81) 
        at angel.marryachinese.GetPassWord.testSendMail(GetPassWord.java:121) 
        at angel.marryachinese.loginAction.execute(loginAction.java:490) 
        at org.apache.struts.action.RequestProcessor.processActionPerform(Reques 
tProcessor.java:484) 
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja 
va:274) 
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:148 
2) 
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) 
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) 
        at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run 
(ServletStubImpl.java:971) 
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm 
pl.java:402) 

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【yamazaki1214】截止到2008-08-01 10:47:54的历史汇总数据(不包括此帖):
    发帖的总数量:12                       发帖的总分数:520                      每贴平均分数:43                       
    回帖的总数量:14                       得分贴总数量:4                        回帖的得分率:28%                      
    结贴的总数量:11                       结贴的总分数:420                      
    无满意结贴数:4                        无满意结贴分:350                      
    未结的帖子数:1                        未结的总分数:100                      
    结贴的百分比:91.67 %               结分的百分比:80.77 %                  
    无满意结贴率:36.36 %               无满意结分率:83.33 %                  
    值得尊敬

    取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=yamazaki1214
      

  2.   

      //这是我的发送邮件代码 
      public int sendMail(String userMail,String sub,String content) 
      { 
          try { 
              Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); 
              final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory"; 
              // Get a Properties object 
              Properties props = System.getProperties(); 
              props.setProperty("mail.smtp.host", "smtp.gmail.com"); 
              props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY); 
              props.setProperty("mail.smtp.socketFactory.fallback", "false"); 
              props.setProperty("mail.smtp.starttls.enable", "true"); 
              props.setProperty("mail.smtp.startssl.enable", "true"); 
              props.setProperty("mail.smtp.port", "465"); 
              props.put("mail.smtp.auth", "true"); 
              final String username = "[email protected]"; 
              final String password = "xxxxxx"; 
              Session session = Session.getDefaultInstance(props, new Authenticator() 
              { 
                  protected PasswordAuthentication getPasswordAuthentication() { 
                      return new PasswordAuthentication(username, password); 
                  } 
              } 
              );           // -- Create a new message -- 
              Message msg = new MimeMessage(session);           // -- Set the FROM and TO fields -- 
              msg.setFrom(new InternetAddress(username)); 
              msg.setRecipients(Message.RecipientType.TO, 
              InternetAddress.parse(userMail,false)); 
              msg.setSubject(sub); 
              msg.setText(content); 
              msg.setSentDate(new Date()); 
              Transport.send(msg);           System.out.println("email is sent"); 
              return 1; 
          } catch (Exception ex) { 
              ex.printStackTrace(); 
              return 0; 
          } 
      

  3.   

    我猜有可能是你的weblogic连接smtp server被防火墙拦截了.Could not connect to SMTP host: smtp.gmail.com, port
      

  4.   

    你的邮件服务器启动了没有啊 ?是不能连接到你的邮件服务器啊, 或者你的端口对么??就是port那个东东、。。
      

  5.   

    lxxzhy:
        非常谢谢你的意见,weblogic连接smtp server被防火墙拦截了,这个原因应该不可能吧,因为smtp server不是我控制的吧,你的意思是:主要原因还是在gmail邮件服务器,是吗?因为我的代码用jdk或者JBuilder和Eclipse单独运行是可以发送邮件的。还会有其他的问题吗?
      

  6.   

    4楼 wxinb :
        非常谢谢你的建议!
        请问如何启动我的邮件服务器啊?用javamail发送邮件,我还要启动邮件服务器?这是怎么回事啊?我还是第一次听讲,可能你还没有看懂我的问题!端口绝对没有问题!有没有其他的原因?