2
저는 Gmail받은 편지함 메시지를 읽으려면 javamail API를 사용하려고했습니다. 인터넷에서 다음 코드를 발견했습니다. 이클립스에서 실행하려고하지만 "잘못된 자격 증명 예외"로 실패하고 있습니다. mail.jar, activation.jar, imap.jar 및 기타 jar 파일은 web-app의 lib 디렉토리에 있습니다.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);
}
}
}
"password"를 암호로 전달하고 있으며 사용자 이름이 유효하지 않은 것으로 보입니다. 잘못된 자격 증명 예외에 대해 설명 할 수 있습니다. 연결중인 시스템에 유효한 사용자 이름이 실제로 있습니까? –