2013-10-16 40 views
0

使用下面的代碼,我無法發送電子郵件。沒有例外,但沒有電子郵件正在發送。代碼在Apache Tomcat中運行的servlet中調用。Javamail失敗,但沒有例外或調試錯誤

該代碼主要來自於在線示例http://www.mkyong.com/java/javamail-api-sending-email-via-gmail-smtp-example/調試輸出低於代碼

public static boolean sendEmail(String to, final String from, String subject, String emailMessage) { 
    final String username = from; 
    final String password = MyUtilities.getSystemPWD(from); 
    Properties props = new Properties(); 
    props.put("mail.smtp.auth", "true"); 
    props.put("mail.smtp.starttls.enable", "true"); 
    props.put("mail.smtp.host", MyConfiguration.smtpServer); 
    props.put("mail.smtp.port", MyConfiguration.smtpPort); 
    Session session = Session.getInstance(props, 
      new javax.mail.Authenticator() { 

       protected PasswordAuthentication getPasswordAuthentication() { 
        return new PasswordAuthentication(username, password); 
       } 
      }); 
    try { 
     Message message = new MimeMessage(session); 
     message.setFrom(new InternetAddress(from)); 
     message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to)); 
     message.setSubject(subject); 
     message.setText(emailMessage); 
     Transport.send(message); 

     System.out.println("Done"); 
    } catch (MessagingException me) { 
     MyLogger.log("MyUtilities.sendEmail: Messaging error", me); 
     Logger.getLogger(MyUtilities.class.getName()).log(Level.SEVERE, "MyUtilities.sendEmail: Messaging error", me); 
     System.out.println("MyUtilities.sendEmail: Messaging error"); 
     return false; 
    } catch (Exception ex) { 
     MyLogger.log("MyUtilities.sendEmail: Messaging error", ex); 
     Logger.getLogger(MyUtilities.class.getName()).log(Level.SEVERE, "MyUtilities.sendEmail: Messaging error", ex); 
     return false; 
    } 
    return true; 
} 

調試輸出

DEBUG: setDebug: JavaMail version 1.4.5 
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc] 
DEBUG SMTP: useEhlo true, useAuth true 
DEBUG SMTP: useEhlo true, useAuth true 
DEBUG SMTP: trying to connect to host "mail.mysite.com", port 587, isSSL false 
220 smtp.mysite.net InterWorx-CP SMTP Server ESMTP 
DEBUG SMTP: connected to host "mail.mysite.com", port: 587 

EHLO 192.168.1.109 
250-smtp.mysite.net InterWorx-CP SMTP Server 
250-STARTTLS 
250-SIZE 20971520 
250-PIPELINING 
250 8BITMIME 
DEBUG SMTP: Found extension "STARTTLS", arg "" 
DEBUG SMTP: Found extension "SIZE", arg "20971520" 
DEBUG SMTP: Found extension "PIPELINING", arg "" 
DEBUG SMTP: Found extension "8BITMIME", arg "" 
STARTTLS 
220 ready for tls 
EHLO 192.168.1.109 
250-smtp.mysite.net InterWorx-CP SMTP Server 
250-AUTH LOGIN PLAIN 
250-AUTH=LOGIN PLAIN 
250-SIZE 20971520 
250-PIPELINING 
250 8BITMIME 
DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN" 
DEBUG SMTP: Found extension "AUTH=LOGIN", arg "PLAIN" 
DEBUG SMTP: Found extension "SIZE", arg "20971520" 
DEBUG SMTP: Found extension "PIPELINING", arg "" 
DEBUG SMTP: Found extension "8BITMIME", arg "" 
DEBUG SMTP: Attempt to authenticate 
DEBUG SMTP: check mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM 
DEBUG SMTP: AUTH LOGIN command trace suppressed 
DEBUG SMTP: AUTH LOGIN succeeded 
DEBUG SMTP: use8bit false 
MAIL FROM:<[email protected]> 
250 ok 
RCPT TO:<[email protected]> 
250 ok 
DEBUG SMTP: Verified Addresses 
DEBUG SMTP: [email protected] 
DATA 
354 go ahead 
From: [email protected] 
To: [email protected] 
Message-ID: <[email protected]> 
Subject: 
MIME-Version: 1.0 
Content-Type: text/plain; charset=us-ascii 
Content-Transfer-Encoding: 7bit  
<html></html> 
. 
250 ok 1381941483 qp 29906 
QUIT 
221 smtp.mysite.net InterWorx-CP SMTP Server 
Done 
+0

如果管理員可以看到這一點,當我嘗試更改SSL標記以使其更改回ssl時。 –

+0

試圖將標記從ssl更改爲tls。不會改變 – Keerthivasan

回答

2

從調試輸出,很明顯,您的郵件服務器正在接受來自應用程序的消息。因此,您的程序或配置沒有任何問題。如果郵件服務器從未傳遞郵件,則需要查看郵件服務器日誌文件。在此之前,查看收件人的垃圾郵件文件夾。

相關問題