2013-01-07 69 views
0

我正在開發一個簡單的Web應用程序使用郵件,與MyEclipse8.0.1和Weblogic8.0作爲服務器。以下是我發送電子郵件的代碼,它適用於控制檯,但是當我使用myeclipse和Weblogic運行時,它顯示以下錯誤:MyEclipse中的JavaMail異常:javax.mail.SendFailedException:發送失敗;嵌套異常是:javax.mail.MessagingException:

javax.mail.SendFailedException:發送失敗;嵌套的例外是:javax.mail.MessagingException的:無法連接到SMTP主機:smtp.gmail.com端口:465

這是我在JSP代碼:

<% 
try { 
     Properties p = new Properties(); 
     p.put("mail.transport.protocol","smtp"); 
     p.put("mail.smtp.host","smtp.gmail.com"); 
     p.put("mail.smtp.port","465"); 
     p.put("mail.smtp.auth","true"); 
     p.put("mail.smtp.debug","true"); 
     p.put("mail.smtp.starttls.enable", "true"); 
     p.put("mail.smtp.ssl.enable", "true"); 
     p.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory"); 
     p.put("mail.smtp.socketFactory.port", "465"); 
     p.put("mail.smtp.socketFactory.fallback", "false"); 
     java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); 
     Session s = Session.getInstance(p,new javax.mail.Authenticator() { 
      protected PasswordAuthentication getPasswordAuthentication() { 
       return new PasswordAuthentication("user","pass");}}); 
     Message msg = new MimeMessage(s); 
     msg.setFrom(new InternetAddress("[email protected]")); 
     msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse("[email protected]")); 
     msg.setSentDate(new java.util.Date()); 
     msg.setSubject("MySub"); 
     msg.setText("Body"); 
     Transport.send(msg); 
     out.println("Mail sent successfully"); 
} 
catch (Exception e) 
{ 
    //e.printStackTrace(); 
    System.out.println("Exception : " + e); 
    out.println("Exception : " + e); 
} 


%> 

一個有趣的事情發生在這裏是當我通過啓動MyEclipse Tomcat服務器嘗試相同的代碼並運行代碼時,它將成功發送到我的gmail帳戶,因爲它是從控制檯程序工作的。但再一次,當我用Weblogic 8.0上面的代碼嘗試時,它向我展示異常「javax.mail.MessagingException:無法連接到SMTP主機:smtp.gmail.com,端口:465」。

我不知道錯在哪裏,無論是在代碼中還是在服務器中的某些特殊設置。所以請高手指點一下。 非常感謝,提前。

+0

我想一些額外的類方法或mail.smtp.xxxx設置可能會丟失,或者可能是,必須有一些設置爲weblogic它可以工作,因爲它與Tomcat與MyEclipse集成在一起很好。?請幫幫我.... – Faizan

回答

相關問題