2012-03-08 5 views
1

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

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(); 
     } 
    } 

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

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

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

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

+0

Вы пытались соединиться с Thunderbird с yahoo/IMAP? – Thor

ответ

0

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

Смежные вопросы