Gibt es irgendwelche gute, kurze code-Beispiele, Lesen Sie einfach eine neue gmail-Nachricht?

Habe ich versucht, das schreiben einer app, die regelmäßig analysiert den Inhalt von gmail-Nachrichten. Ich habe durch die JavaMail-FAQ und ich habe mir eine Reihe von Beispielen in der JavaMail-download-Paket, aber waren nicht in der Lage, diese zu arbeiten. Der folgende code verursacht derzeit die folgenden gmail Fehler:

Host wird nicht aufgelöst: imaps.gmail.com:993

Habe ich auch schon versucht imap.gmail.com:143 aber erhalten:

Host wird nicht aufgelöst: imap.gmail.com:143

Jede Hilfe oder Beratung wäre sehr dankbar. GMailReader ist die Klasse die ich benutze, um zu versuchen und zurück gmail-imap-Nachrichten:

public class GMailReader extends javax.mail.Authenticator { 
    private String mailhost = "imaps.gmail.com"; 
    private String user; 
    private String password; 
    private Session session; 
    public GMailReader(String user, String password) { 
        this.user = user; 
        this.password = password; 
        Properties props = new Properties(); 
        props.setProperty("mail.transport.protocol", "imaps"); 
        props.setProperty("mail.imaps.host", mailhost); 
        props.put("mail.imaps.auth", "true"); 
        props.put("mail.imaps.port", "993"); 
        props.put("mail.imaps.socketFactory.port", "993"); 
        props.put("mail.imaps.socketFactory.class", 
                  "javax.net.ssl.SSLSocketFactory"); 
        props.put("mail.imaps.socketFactory.fallback", "false"); 
        props.setProperty("mail.imaps.quitwait", "false"); 
        session = Session.getDefaultInstance(props, this); 
    } 
    public synchronized Message[] readMail() throws Exception { 
        try { 
            Store store = session.getStore("imaps"); 
            store.connect("imaps.gmail.com", user, password); 
            Folder folder = store.getFolder("INBOX"); 
            folder.open(Folder.READ_ONLY); 
            Message[] msgs = folder.getMessages(1, 10); 
            FetchProfile fp = new FetchProfile(); 
            fp.add(FetchProfile.Item.ENVELOPE); 
            folder.fetch(msgs, fp); 
            return msgs; 
        } catch (Exception e) { 
            Log.e("readMail", e.getMessage(), e); 
            return null; 
        } 
    } 
}
InformationsquelleAutor jacknad | 2010-07-21
Schreibe einen Kommentar