2011-12-29 118 views
0

我想要的JavaMail的例子錯誤,我得到以下錯誤:獲取用JavaMail

Exception in thread "main" javax.mail.AuthenticationFailedException: [AUTH] Application-specific password required: http://www.google.com/support/accounts/bin/answer.py?answer=185833 
      at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:208) 
      at javax.mail.Service.connect(Service.java:317) 
      at javax.mail.Service.connect(Service.java:176) 
      at javax.mail.Service.connect(Service.java:125) 
      at javax.mail.Session.getFolder(Session.java:612) 
      at MainClass.main(MainClass.java:19) 
    Java Result: 1 

使用的代碼是從Java2s.com獲取附件文件名。 而我從1.4.4版本使用mail.jar。

我不明白的代碼 這裏結束:

class MailAuthenticator extends Authenticator { 

    public MailAuthenticator() { 
    } 

    public PasswordAuthentication getPasswordAuthentication() { 
    return new PasswordAuthentication("username", "password"); 
    } 
} 

謝謝

+0

您是否閱讀了http://support.google.com/accounts/bin/static.py?hl=zh-CN&guide=1056283&page=guide.cs&answer=185833&rd=3? – Joe 2011-12-29 20:25:45

+0

不,但現在我讀了這個,並感謝你 – Pacific 2011-12-29 20:40:52

+0

謝謝你的答案,我使用喬Tuskan鏈接。 現在,當我運行我的代碼它正在工作,但我想了解爲什麼它只顯示字節長尺寸和行號。 如果我在這裏閱讀我的代碼示例: 似乎該處置爲空,那是什麼?爲什麼? 謝謝。 ... String disposition = messages [i] .getDisposition(); if(disposition == null){ ; //什麼都不做 } else if(disposition.equals(Part.INLINE)){System.out.println(「這部分應該內聯顯示」); ... – Pacific 2011-12-29 21:05:54

回答

1

有問題的帳戶建立在谷歌的兩步驗證。 (見here)。您無法使用簡單的用戶名和密碼組合進行身份驗證。

您需要按照說明操作(link在錯誤信息本身內,這很好),以設置應用程序特定的密碼(例如,恢復爲Google Mail的一步式身份驗證)該特定帳戶。

+0

我的代碼結果如下: – Pacific 2011-12-29 20:53:43

+0

3018字節長。 -1行。 1642字節長。 -1行。 長度爲925個字節。 -1行。 4557字節長 – Pacific 2011-12-29 20:53:57

+0

對於我的打字錯誤感到抱歉 – Pacific 2011-12-29 20:58:14