Как получить доступ к учетной записи Gmail через javamail - PullRequest
1 голос
/ 08 марта 2012

Я пытаюсь получить доступ к учетной записи электронной почты на определенном почтовом сервере через «imap» через почту java.Я провел некоторое исследование по этому вопросу.И я нахожу следующий код, который работает для gmail.

import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;

public class DeleteMessageExample {
    public static void main (String args[]) throws Exception {
    String host = args[0];
    String username = args[1];
    String password = args[2];

    // Get session
    Session session = Session.getInstance(
      System.getProperties(), null);

    // Get the store
    Store store = session.getStore("imaps");
    store.connect(host, username, password);

    // Get folder
    Folder folder = store.getFolder("INBOX");
    folder.open(Folder.READ_WRITE);

    BufferedReader reader = new BufferedReader (
      new InputStreamReader(System.in));

    // Get directory
    Message message[] = folder.getMessages();
    for (int i=0, n=message.length; i<n; i++) {
       System.out.println(i + ": " + message[i].getFrom()[0] 
         + "\t" + message[i].getSubject());

       System.out.println("Do you want to delete message? [YES to delete]");
       String line = reader.readLine();
       // Mark as deleted if appropriate
       if ("YES".equals(line)) {
         message[i].setFlag(Flags.Flag.DELETED, true);
       }
    }

    // Close connection 
    folder.close(true);
    store.close();
        }
    }

Однако мне нужно указать args [0] как imap.gmail.com args [1] как usrname, args [2]быть паролем.И если я заменю imap.gmail.com на IP-адрес 74.125.224.86, он больше не будет работать.

Мой вопрос: предположим, у меня есть учетная запись на почте Yahoo, какое имя хоста мне следует использовать?Я попробовал imap.yahoo.com, mail.yahoo.com и IP-адрес.

Если вы знаете ответ, не могли бы вы также сказать мне, каково обычное правило, чтобы узнать, какое имя хоста мне следует использовать?

Большое спасибо.

1 Ответ

0 голосов
/ 08 марта 2012

В отличие от Gmail, службы IMAP Yahoo Mail не являются полностью стандартными службами IMAP. Вам необходимо отправить некоторые специальные токены, прежде чем войти в систему. Вам нужно изменить JavaMail API, чтобы подключиться к Yahoo Mail через IMAP. Последний выпуск JavaMail 1.4.4-SNAPSHOT также поддерживает Yahoo Mail. Вы можете получить это здесь

...