我想使用带有普通登录的 IMAP 通过 Javamail API (1.4.5) 访问共享邮箱(不是文件夹)。邮件服务器是 Exchange Server 2010。
用户:user1 (user1@domain.com) 密码:xxxx
共享邮箱:shared_MB@domain.com
我设法访问了 user1 - 邮箱:
Session session = Session.getInstance(properties, new ExchangeAuthenticator(username, password));
session.setDebug(true);
Store store = session.getStore("imaps");
store.connect(imapHost, username, password);
属性:
mail.imaps.socketFactory.port = 993
mail.imaps.starttls.enable = true
mail.imaps.socketFactory.class = javax.net.ssl.SSLSocketFactory
mail.imaps.socketFactory.fallback = false
用户名 = user1@domain.com
密码=xxxx
--> 这很好用!但是现在我想通过更改登录字符串来访问附加邮箱:
用户名=user1@domain.com/shared_MB
--> 不幸的是我收到了“NO AUTHENTICATE”消息:
DEBUG IMAP: AUTHENTICATE PLAIN command result: A1 NO AUTHENTICATE failed.
我可以使用 Thunderbird 访问,所以我认为我的代码中缺少某些东西...
最佳答案
我正在执行以下操作并且对我来说效果很好
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");
在这里
DOMAIN\\USER\\SHAREDACCOUNT 会像这样
假设电子邮件帐户是 tarun@abc.com 那么
abc\\tarun\\shared_MB
您还必须输入 tarun@abc.com 帐户的密码。
关于jakarta-mail - 如何使用 Javamail 访问其他邮箱(IMAP、Exchange 2010),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11719205/