2012-07-11 125 views
2

我一直在尝试使用javamail api阅读Gmail收件箱邮件。我在互联网上找到了以下代码。我试图在Eclipse上运行它,但是它失败并出现“无效凭证异常”。我在web-app的lib目录中有mail.jar,activation.jar,imap.jar和其他jar文件。javamail api访问Gmail收件箱邮件

任何想法为什么我收到此异常?谢谢。

javax.mail.AuthenticationFailedException: Invalid credentials n67if632335wep.219 
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:665) 
at javax.mail.Service.connect(Service.java:295) 
at javax.mail.Service.connect(Service.java:176) 
at org.mb.mail.MailReader.main(MailReader.java:23) 


package org.mb.mail; 

import java.util.Properties; 

import javax.mail.Folder; 
import javax.mail.Message; 
import javax.mail.MessagingException; 
import javax.mail.NoSuchProviderException; 
import javax.mail.Session; 
import javax.mail.Store; 
import javax.mail.*; 

public class MailReader { 

public static void main(String args[]) { 
Properties props = System.getProperties(); 
props.setProperty("mail.store.protocol", "imaps"); 
try { 
Session session = Session.getDefaultInstance(props, null); 
Store store = session.getStore("imaps"); 
store.connect("imap.gmail.com", "<username>", "password"); 
System.out.println(store); 

Folder inbox = store.getFolder("Inbox"); 
inbox.open(Folder.READ_ONLY); 
Message messages[] = inbox.getMessages(); 
for(Message message:messages) { 
System.out.println(message); 

}

 } catch (NoSuchProviderException e) { 
      e.printStackTrace(); 
      System.exit(1); 
     } catch (MessagingException e) { 
      e.printStackTrace(); 
      System.exit(2); 
     } 

    } 

} 
+0

看起来您传递的是“密码”作为密码,并且您的用户名可能无效。这可能会解释无效凭证异常。你真的有连接到系统的有效用户名吗? – 2012-07-11 19:03:12

回答