76 votes

Application Java utilisant IMAP reçoit mail de GMail

Je veux accéder aux messages dans GMail depuis une application Java utilisant JavaMail et IMAP. Pourquoi est-ce que j’obtiens une SocketTimeoutException ?

Voici mon code :

J’ai mis les valeurs de délai d’attente afin qu’il ne serait pas prendre « pour toujours » timeout. En outre, MyAuthenticator a aussi le nom d’utilisateur et mot de passe, ce qui semble redondant avec l’URL. Y a-t-il un autre moyen pour spécifier le protocole ? (Je ne voyais il dans la JavaDoc pour IMAP.)

71voto

Dave Points 841

À l’aide d’imaps est une excellente suggestion. Aucune des réponses fournies tout a fonctionné pour moi, donc j’ai googlé certains plus et trouvé quelque chose qui a fonctionné. Voici comment mon code ressemble maintenant.

C’est gentil parce qu’il prend l’authentificateur redondant hors de l’image. Je suis heureux que cela a fonctionné parce que le SSLNOTES.txt faire mon tourner la tête.

8voto

Hugo Points 3276

Vous devez utiliser les propriétés suivantes pour imaps :

Avis c' est « IMAP », pas « imap », étant donné que le protocole que vous utilisez est imaps (IMAP + SSL)

6voto

Chris Jester-Young Points 102876

Dans JavaMail, vous pouvez utiliser comme le schéma d’URL à utiliser le protocole IMAP sur SSL. (Voir dans votre distribution de JavaMail pour plus de détails.) Par exemple, `` .

De même, utilisez pour envoyer des e-mails via Gmail. par exemple, . Encore une fois, lisez `` pour plus de détails. J’espère que ça aide !

3voto

bmatthews68 Points 4973

Vous devez vous connecter à GMail en utilisant SSL uniquement. Définition des propriétés suivantes qui forcera pour vous.

 props.setProperty ("mail.imap.socketFactory.class", "javax.net.ssl.SSLSocketFactory") ; props.setProperty ("mail.imap.socketFactory.fallback", "false") ; 

2voto

Zach Scrivena Points 15052

Si vous souhaitez que plusieurs exemples de code sur l’utilisation de JavaMail avec Gmail (par exemple conversion libellés Gmail pour les noms de dossiers IMAP, ou en utilisant IMAP IDLE), faire vérifier mon programme GmailAssistant sur SourceForge.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X