java - 对于用户 id java.mail 抛出 'AUTHENTICATE failed.' ,但可以通过浏览器登录

标签 java jakarta-mail exchange-server-2007

我正在使用 java mail api 阅读邮件(使用 imap)。我有 2 个不同的邮箱要阅读。

以下是使用的配置:-

Microsoft Exchange Server 2007

java mail  :- tried javamail-1.4 , javamail-1.5
imap.url=imapmail.somedomain.com
imap.port=143

mail.user1=user_id_doesnt_work
mail.pwd1=some_pwd

mail.user2=user_id_works
mail.pwd2=some_pwd

Java 代码:-

private void loginInbox() throws MessagingException{

    Folder inbox = null;
    Properties mailProps =  mailProps = new Properties();

   mailProps.put("mail.store.protocol", "imapmail.somedomain.com");
   mailProps.put("mail.imap.starttls.enable", "true");
   mailProps.put("mail.imap.starttls.required", "true");

   Session session = Session.getDefaultInstance(mailProps);
   Store store = session.getStore();

   store.connect("imapmail.somedomain.com", 143, EMAILUSER, EMAILPWD);    //throws exception here

   inbox = store.getFolder(INBOX);
   inbox.open(Folder.READ_WRITE);

}

I am able to login to both mail boxes through browser ,with both user id and password (url = imapmail.somedomain.com )

> 使用 JavaMail :-

使用 java mail 'mail.user2=user_id_works' ,我可以登录邮件。

但是当我使用 java 邮件 'mail.user1=user_id_doesnt_work' 时抛出异常:

javax.mail.AuthenticationFailedException: AUTHENTICATE failed. at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:723) at javax.mail.Service.connect(Service.java:364)

是否可以为该特定用户设置任何服务器设置以阻止登录尝试? 如有任何想法,我们将不胜感激。

最佳答案

由于您发布的代码忽略了您的属性,因此完全不清楚您的属性是如何被使用的。我假设那不是您正在使用的代码。

Change Session.getDefaultInstance to Session.getInstance ,如 common mistakes in the JavaMail FAQ 列表中所述.

关于java - 对于用户 id java.mail 抛出 'AUTHENTICATE failed.' ,但可以通过浏览器登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32078928/

相关文章:

java - 比较两个字符串值并返回其在 java 中的索引

Java 字段验证机制

java - 无法使用 Java 从 Gmail 检索电子邮件

java - 在android中显示电子邮件(JavaMail Message)的最佳方式

java - 安卓 : Storing ExtendedProperties on Exchange Server

exchangewebservices - Exchange Web 服务管理,获取已删除的约会

java - 过滤时很漂亮的 JSON 导入,但返回整批数据时则不然 + ID 中丑陋的括号

java - 从多个数字 ID 创建唯一的数字 ID

java - 通过 SMTP 发送 ICS 文件无法在 Outlook 中正确显示?

c# - 从 C# 运行 Exchange Powershell 命令