java邮箱exchange_使用Javamail访问Microsoft Exchange邮箱(IMAP,MS Exchange)
我需要通过IMAPS JavaMail连接到Microsoft Exchange Server.首先,我得到了:
A1 NO AUTHENTICATE failed.
javax.mail.AuthenticationFailedException: AUTHENTICATE failed.
我的调试器中的异常.
然后,我禁用了一些身份验证协议:
imapProps.setProperty("mail.imaps.auth.plain.disable", "true");
imapProps.setProperty("mail.imaps.auth.ntlm.disable", "true");
imapProps.setProperty("mail.imaps.auth.gssapi.disable", "true");
这是我得到的新例外(我附上了整个日志):
DEBUG: setDebug: JavaMail version 1.4.4
DEBUG: getProvider() returning javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc]
DEBUG: mail.imap.fetchsize: 16384
DEBUG: mail.imap.statuscachetimeout: 1000
DEBUG: mail.imap.appendbuffersize: -1
DEBUG: mail.imap.minidletime: 10
DEBUG: disable AUTH=PLAIN
DEBUG: disable AUTH=NTLM
DEBUG: enable STARTTLS
DEBUG: trying to connect to host "host.domain.com", port 993, isSSL true
* OK The Microsoft Exchange IMAP4 service is ready.
A0 CAPABILITY
* CAPABILITY IMAP4 IMAP4rev1 AUTH=NTLM AUTH=GSSAPI AUTH=PLAIN UIDPLUS CHILDREN IDLE NAMESPACE LITERAL+
A0 OK CAPABILITY completed.
DEBUG IMAP: AUTH: NTLM
DEBUG IMAP: AUTH: GSSAPI
DEBUG IMAP: AUTH: PLAIN
DEBUG: protocolConnect login, host=host.domain.com, user=user@domain.com, password=
A1 LOGIN user@domain.com password
A1 NO LOGIN failed.
DEBUG: trying to connect to host "host.domain.com", port 993, isSSL true
* OK The Microsoft Exchange IMAP4 service is ready.
A0 CAPABILITY
* CAPABILITY IMAP4 IMAP4rev1 AUTH=NTLM AUTH=GSSAPI AUTH=PLAIN UIDPLUS CHILDREN IDLE NAMESPACE LITERAL+
A0 OK CAPABILITY completed.
DEBUG IMAP: AUTH: NTLM
DEBUG IMAP: AUTH: GSSAPI
DEBUG IMAP: AUTH: PLAIN
DEBUG: protocolConnect login, host=host.domain.com, user=user@domain.com, password=
A1 LOGIN user@domain.com password
A1 NO LOGIN failed.
javax.mail.AuthenticationFailedException: LOGIN failed.
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:660)
at javax.mail.Service.connect(Service.java:317)
at javax.mail.Service.connect(Service.java:176)
at ConnectMail.connectMail(ConnectMail.java:63)
at Main.main(Main.java:9)
现在我得到了“NO LOGIN failed”异常.
这是我的完整代码:
Properties imapProps = new Properties();
imapProps.setProperty("mail.imaps.socketFactory.port", "993");
imapProps.setProperty("mail.imaps.starttls.enable", "true");
imapProps.setProperty("mail.imaps.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
imapProps.setProperty("mail.imaps.socketFactory.fallback", "false");
imapProps.setProperty("mail.imaps.auth.plain.disable", "true");
imapProps.setProperty("mail.imaps.auth.ntlm.disable", "true");
imapProps.setProperty("mail.imaps.auth.gssapi.disable", "true");
imapProps.setProperty("username", "user@domain.com");
imapProps.setProperty("password", "password");
String host = "host.domain.com";
int port = Integer.parseInt("993");
Authenticator authenticator = new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("user@domain.com", "password");
}
};
session = Session.getInstance(imapProps, authenticator);
session.setDebug(true);
Store store = session.getStore("imaps");
store.connect(host, "user@domain.com", "password");
解决方法:
您需要使用支持NTLM身份验证的较新版本的JavaMail.最新版本是1.5.1.
标签:java,authentication,javamail,imap,exchange-server
来源: https://codeday.me/bug/20190629/1324396.html
java邮箱exchange_使用Javamail访问Microsoft Exchange邮箱(IMAP,MS Exchange)相关推荐
- qq企业邮箱 java发送_spring配置javamail利用qq企业邮箱发送邮件。
javax.net.ssl.SSLSocketFactory false true true 25000 //java调用 @Resource private JavaMailSender mailS ...
- 卸载网易邮箱大师邮件从服务器删除,网易邮箱大师-高效强大的全平台邮箱客户端...
常见问题 收不到邮件怎么办? 你可以按以下方式尝试自助解决: 1. 请在"垃圾邮件"等其他文件夹中查看是否有对应邮件. 2. 邮件可能被聚合了,到设置中取消勾选"按主题聚 ...
- 用SMTP,POP3访问Exchange邮箱:Exchange2003系列之六
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.[url]http://yuelei.blog.51cto.com/202879/76 ...
- Outlook通过RPC/RPC Over HTTPS访问Exchange邮箱
上一篇博文介绍了一些邮箱的简单配置,这篇我们介绍Outlook通过RPC/RPC Over HTTPS访问Exchange邮箱 我们先看一下有哪些方式可以访问Exchange ①Outlook作为 ...
- 使用outlook 2007配置microsoft exchange邮箱方法步骤
1.通过配置outlook2007来收发如163,新浪等邮箱操作比较方便易配 我们可以打开microsoft outlook根据向导来配置, 按照默认的选择往下走即可,点击next. 在接下来的页面里 ...
- 通过JavaMail访问Hotmail邮箱
[size=large]http://blog.csdn.net/changlich/archive/2007/01/01/1472089.aspx 相信许多人都有msn聊天工具的帐号,例如abc@h ...
- 通过JavaMail访问Hotmail邮箱 .
相信许多人都有msn聊天工具的帐号,例如abc@hotmail.com ,这个账号其实也是一个邮件地址,可以进行正常的邮件收发功能,你可以通过网址 http://www.hotmail.com 来访问 ...
- Java Web(十三) 使用javamail进行发送邮件,(使用QQ,163,新浪邮箱服务器)
加油加油. --WH 一.发送邮件的原理 在了解其原理之前,先要知道两个协议,SMTP和POP3 SMTP:Simple Mail Transfer Protocol,即简单邮件传输协议,发送邮件的协 ...
- 用OWA访问Exchange邮箱
OWA是Outlook Web Access的缩写,OWA允许用户用浏览器通过HTTP/HTTPS访问Exchange邮箱,是一种重要的在线访问方式.<?xml:namespace prefix ...
最新文章
- Go 知识点(12) — 类型转换以三方库 cast
- html 文字不可选择,有没有办法在HTML页面上使文本无法选择?
- 弱电工程网络视频监控系统联网方式及接地要求
- 关于私有云与存储风向的深度解读
- JAVA面对对象(一)——封装
- 常见的php笔试题(附答案)搜集整理
- python 的内存回收,及深浅Copy详解
- webapi自宿主设置本地端口使用https协议
- Jenkins配置MSBuild时使用环境变量
- jquery.autocomplete 使用解析
- 12.万无一失:网站的高可用架构
- 大学生简单个人静态HTML网页设计作品 DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载 HTML5期末大作业 (1)
- DirectX Redistributable 多国语言安装版
- C# RichTextBox 制作文本编辑器
- 程序员应该知道的经济学常识
- springboot bootcdn使用
- LAPACK使用中出现问题的解决方案(VS平台下的)
- 总结低代码海报平台编辑器难点
- 计算机课学生段密码,启课程学生端电脑版
- 计算机蓝屏代码0x000000ED,电脑蓝屏代码0x000000ed解决步骤
热门文章
- java web 开发技术大全 代码_Java Web开发技术大全
- php 跳板机连接mysql,使用python如何通过跳板机连接MySQL数据库
- 考研数学(180°为什么等于π)
- qlineedit限制输入数字_Excel单元格限制录入,实用小技巧
- python字符串_教你快速了解 Python 字符串
- 浅谈Java中类加载机制
- Java的一些学习心得
- 基于单片机超声波测距系统的设计_一种基于UWB技术实现的测距防撞系统
- python pandas库 画图_python绘图:matplotlib和pandas的应用
- element ui 多个子组件_ElementUI 技术揭秘(2) 组件库的整体设计