Как настроить почтовый клиент на Java? - PullRequest
0 голосов
/ 15 марта 2011

Я пытаюсь очень простой почтовый клиент в Java. Когда я запускаю программу, у меня появляется сообщение об ошибке:

Exception in thread "main" javax.mail.AuthenticationFailedException: EOF on socket
        at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:146)
        at javax.mail.Service.connect(Service.java:297)
        at javax.mail.Service.connect(Service.java:156)
        at SimpleEmailClient2.main(SimpleEmailClient2.java:21)
Java Result: 1

Почему? Я использую учетную запись Gmail, и я включил POP и IMAP В чем может быть возможная ошибка в моем коде? Спасибо

вот код:

import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Store;

public class SimpleEmailClient2 {

  public static void main(String[] args) throws Exception {

    Properties props = new Properties();

    String host = "pop.gmail.com";
    String provider = "pop3";

    Session session = Session.getDefaultInstance(props, new MailAuthenticator());
    Store store = session.getStore(provider);
    store.connect(host, null, null);

    Folder inbox = store.getFolder("INBOX");
    if (inbox == null) {
      System.out.println("No INBOX");
      System.exit(1);
    }
    inbox.open(Folder.READ_ONLY);

    Message[] messages = inbox.getMessages();
    for (int i = 0; i < messages.length; i++) {
      System.out.println("Message " + (i + 1));
      messages[i].writeTo(System.out);
    }
    inbox.close(false);
    store.close();
  }
}

class MailAuthenticator extends Authenticator {

  public MailAuthenticator() {
  }

  public PasswordAuthentication getPasswordAuthentication() {
    return new PasswordAuthentication("email@gmail.com", "password");
  }
}

Ответы [ 2 ]

2 голосов
/ 15 марта 2011

Я не верю, что gmail поддерживает провайдера pop3; вместо этого вы должны использовать pop3s. В противном случае это должно работать нормально.

1 голос
/ 15 марта 2011

У Oracle есть информация о подключении javamail к gmail здесь .

В частности, похоже, что вы пытаетесь установить соединение, вероятно, потому что вы не указываете имя пользователя /пароль для подключения.Попробуйте подключиться, используя что-то вроде:

store.connect(host, "user618111@gmail.com", "[myPassword]");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...