Il n'existe aucun bon bref exemples de code qu'il suffit de lire un nouveau message gmail?
J'ai essayé d'écrire une application qui périodiquement analyse le contenu des messages gmail. J'ai été par le biais de la JavaMail FAQ et j'ai regardé un certain nombre d'exemples dans la JavaMail package de téléchargement, mais ont été incapables d'obtenir que cela fonctionne. Le code ci-dessous provoque actuellement les suivants gmail erreur:
Hôte n'est pas résolue: imaps.de gmail.com:993
J'ai aussi essayé imap.de gmail.com:143, mais obtenir:
Hôte n'est pas résolue: imap.de gmail.com:143
De l'aide ou des conseils seraient grandement appréciés. GMailReader est la classe je suis à l'aide de l'essayer et de retour gmail imap messages:
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;
}
}
}
OriginalL'auteur jacknad | 2010-07-21
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé un exemple ici qui a été utile. Mon erreur a été de l'utilisation de "mail.de transport.protocole" plutôt que de "mail.magasin.le protocole."
Ceci est sans rapport avec la question d'origine. Ouvrir une nouvelle question qui comprend votre code, ce qui fonctionne, ce qui ne fonctionne pas, le message d'erreur, etc. Comme vous êtes la rédaction du message, vous pouvez trouver qu'il a déjà été répondu dans les réponses que les pop-up.
OriginalL'auteur jacknad
ci-après une version corrigée de
Bye
OriginalL'auteur snakeman
Je vois que le GmailReader concept très utile et bien conçu en conformité avec la GmailSender exemple montré ici:
Envoyez un Courriel à Android à l'aide de l'API JavaMail sans l'aide de la valeur par défaut/intégré dans l'app
Mais Toutes les actualités, l'erreur a demandé ci-dessous ? Et la mise en œuvre de la proposition de JackN ?
Cordialement
SkN
OriginalL'auteur snakeman
Après une énorme quantité de tâtonnements et de recherches sur google , snakeman de l'édition de cette réponse le réalisable exemple j'avais besoin pour gmail, reader;
Cependant que d'autres devraient être au courant (si vous utilisez les versions ultérieures de l'Android SDK) de Manifester exigences en matière d'autorisation et de la nécessité d'utiliser des asyncTask pour déplacer potentiellement de longue durée de tâches de la principale thread d'INTERFACE utilisateur), qui sont tous deux mentionnés dans cette SMTP exemple
Je dois aussi mentionner que si, comme moi, vous avez aussi l'intention de mettre en œuvre un envoi par smtp classe, j'ai vu quelque part une discussion, ce qui suggère que la session.getInstance devrait être utilisé à la place de la session.getDefaultInstance.
OriginalL'auteur Farti Slartbast