Properties props = new Properties();
props.setProperty(MAIL_STORE_PROTOCOL, "imap");
props.setProperty(MAIL_HOST, "imap.qq.com");
props.setProperty(MAIL_USER, user);
props.setProperty(MAIL_PASSWORD, password);
使用以上Propertis连接QQ的IMAP服务器时,会抛出BadCommandException:
A0 BAD 命令无效或者不支持
session.setDebug(true);
开启Debug后,发现异常发生在”A0 AUTHENTICATE LOGIN”这条命令,
也就是说QQ的IMAP服务器是不支持AUTHENTICATE的。
这是比较罕见的,因为AUTHENTICATE是标准IMAP协议里的一条命令,用于加密传输用户名和密码的
如果不支持的话,就只能使用明文发送用户名和密码了
以下是解决代码:
props.setProperty("mail.imap.auth.login.disable", "true");
这样再去连接QQ的IMAP服务器,就可以正常登陆了
返回结果如下:
A0 OK Success login ok
分享到:
相关推荐
这可能是由于安全或性能考虑,因此,如果你需要获取历史邮件,可能需要考虑使用IMAP协议或者API接口,如QQ邮箱的SMTP/POP3/IMAP API。 在实际项目中,你还需要考虑错误处理和异常捕获,确保在出现问题时能够优雅地...
连接IMAP服务器并登录: ```csharp ImapClient imap = new ImapClient(); imap.Connect("imap.qq.com", 993, true); imap.Authenticate("your_email@qq.com", "your_password"); ``` 搜索和下载邮件: ```...
- **IMAP(Internet Message Access Protocol)**:与POP3类似,但IMAP允许用户在服务器上管理邮件,例如标记已读、移动邮件到不同文件夹,同时支持离线访问。 2. **Delphi中的网络通信库**: Delphi提供了几个...
POP3主要用于下载邮件服务器上的邮件到本地设备,而IMAP4则允许在服务器上管理邮件,同时支持离线查看。在C#中,`MailMessage`类用于表示邮件,`SmtpClient`类用于发送邮件,而`Pop3`和`Imap`类则用于接收邮件。 ...
在C#编程环境中,发送邮件是一项常见的任务,MailKit库为开发者提供了强大的支持。MailKit是一个跨平台的邮件处理库,它可以处理SMTP、IMAP和POP3协议,使得在C#中发送和接收邮件变得非常方便。本示例将详细介绍如何...
在本文中,我们将深入探讨如何使用C#编程语言来实现邮箱附件的下载...此外,还可以使用IMAP协议(Internet Message Access Protocol),它提供了更丰富的邮件管理和检索功能,例如支持阅读邮件、标记已读/未读等操作。