Comment utiliser Javamail pour accéder à des boîtes aux lettres supplémentaires (IMAP, Exchange 2010)
Je souhaite accéder à une boîte aux lettres partagée (PAS À UN DOSSIER) via l'API Javamail (1.4.5) en utilisant IMAP(s) avec une connexion simple. Le serveur de messagerie est un serveur Exchange 2010.
Utilisateur: user1 ([email protected]) pwd: xxxx
Boîte aux lettres partagée: [email protected]
J'ai réussi à accéder à la boîte aux lettres user1:
Session session = Session.getInstance(properties, new ExchangeAuthenticator(username, password));
session.setDebug(true);
Store store = session.getStore("imaps");
store.connect(imapHost, username, password);
Propriétés:
Courrier.imaps.socketFactory.port = 993
Courrier.imaps.starttls.enable = true
Courrier.imaps.socketFactory.classe = javax.net.le protocole ssl.SSLSocketFactory
Courrier.imaps.socketFactory.fallback = false
Nom d'utilisateur = [email protected]
Mot de passe = xxxx
> > cela fonctionne très bien! Mais maintenant, je veux accéder à la boîte aux lettres supplémentaire en changeant la chaîne de connexion:
[email protected]/shared_MB
- > malheureusement, je reçois un message "NO AUTHENTICATE":
DEBUG IMAP: AUTHENTICATE PLAIN command result: A1 NO AUTHENTICATE failed.
J'ai pu avoir accès avec Thunderbird, donc je pense qu'il manque quelque chose dans mon code...
1 answers
Je fais ce qui suit et cela fonctionne bien pour moi
properties = System.getProperties();
properties.setProperty("mail.imaps.auth.plain.disable", "true");
properties.setProperty("mail.imaps.auth.ntlm.disable", "true");
Session session = Session.getInstance(properties, null);
store = session.getStore("imaps");
store.connect("HOST", PORT, "DOMAIN\\USER\\SHAREDACCOUNT","pwd");
Ici
DOMAINE \ \ UTILISATEUR \ \ SHAREDACCOUNT serait comme ceci
supposons que le compte de messagerie soit [email protected] puis
abc \ \ tarun \ \ shared_MB
Vous devez également entrer le mot de passe de [email protected] compte.