는 서버가 응답 예상치 못한자바 메일 인증 및 연결
문제는 때때로 같은 프로그램을 연결하고 메일을 얻을 수 있지만, 일부 시간이
를 throw이다javax.mail.AuthenticationFailedException : 소켓상의 EOF가 com.sun.mail.pop3.POP3Store.protocolConnect (POP3Store.java:208) 에 있습니다. javax.mail.Service.connect (Service.java:295) at javax. mail.Service.connect (Service.java:176) at newpackage.P msPOP3Client.main (PmsPOP3Client.java:44)
오류
서버는
S: +OK Hello there. C: CAPA S: +OK Here's what I can do:
내가 연결하고, 모든 메일을 가져올 수 있습니다 말할 때
S: EOF
전 서버에 연결할 수 없습니다.
내 코드
수입하고있는 java.util. ; import javax.mail.; import javax.mail.event.ConnectionEvent; import javax.mail.event.ConnectionListener; import javax.mail.internet. *;
공용 클래스 PmsPOP3Client {
public static void main(String[] args) throws Exception { try { String host = "host"; String user = "user"; String password = "pass"; Properties props = System.getProperties(); Session session = Session.getDefaultInstance(props); session.setDebug(true); Store store = session.getStore("pop3"); System.out.println("store.getURLName() = " + store.getURLName()); store.connect(host, user, password); Folder folder = store.getFolder("inbox"); folder.open(Folder.READ_ONLY); Message[] messages = folder.getMessages(); for (int i = 0; i < messages.length; i++) { System.out.println("------------ Message " + (i + 1) + " ------------"); String from = InternetAddress.toString(messages[i].getFrom()); if (from != null) { System.out.println("From: " + from); } String replyTo = InternetAddress.toString( messages[i].getReplyTo()); if (replyTo != null) { System.out.println("Reply-to: " + replyTo); } String to = InternetAddress.toString( messages[i].getRecipients(Message.RecipientType.TO)); if (to != null) { System.out.println("To: " + to); } String cc = InternetAddress.toString( messages[i].getRecipients(Message.RecipientType.CC)); if (cc != null) { System.out.println("Cc: " + cc); } String bcc = InternetAddress.toString( messages[i].getRecipients(Message.RecipientType.BCC)); if (bcc != null) { System.out.println("Bcc: " + to); } String subject = messages[i].getSubject(); if (subject != null) { System.out.println("Subject: " + subject); } Date sent = messages[i].getSentDate(); if (sent != null) { System.out.println("Sent: " + sent); } Date received = messages[i].getReceivedDate(); if (received != null) { System.out.println("Received: " + received); } System.out.println(); } folder.close(true); store.close(); } catch (Exception e) { e.printStackTrace(); } } }
로 protocal 대신 POP3로 POP3S를 사용하여 시도해야합니다. "enexpected"를 정의하십시오. –
문제는 동일한 프로그램이 연결되어 메일을 가져 오는 경우가 있지만 소켓에서 EOF가 발생합니다. \t com.sun.mail.pop3.POP3Store.protocolConnect (POP3Store.java:208) javax.mail.Service.connect에서 \t (Service.java:295) javax.mail.Service.connect에서 \t (Service.java:176) newpackage.PmsPOP3Client.main에서 \t (PmsPOP3Client.java:44) 에러 – Complicated