【使用imap协议链接163邮箱】

本文解决了一个在尝试使用IMAP协议连接163邮箱时出现的A4NOSELECTUnsafeLogin错误。通过设置JavaMail属性并提供IMAP ID信息成功解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用imap协议链接163邮箱

链接邮箱报错

Caused by: javax.mail.MessagingException: A4 NO SELECT Unsafe Login. Please contact kefu@188.com for help
	at com.sun.mail.imap.IMAPFolder.open(IMAPFolder.java:1049) ~[jakarta.mail-1.6.7.jar:1.6.7]
	at com.sun.mail.imap.IMAPFolder.open(IMAPFolder.java:977) ~[jakarta.mail-1.6.7.jar:1.6.7]
	at com.cincc.im.mail.receiver.MailListener.initConnect(MailListener.java:68) ~[classes/:?]
	at com.cincc.im.mail.receiver.MailListener.listener(MailListener.java:113) ~[classes/:?]
	at com.cincc.im.mail.receiver.MailListener.asyncListener(MailListener.java:104) ~[classes/:?]
	at com.cincc.im.mail.receiver.MailListenerRunner.run(MailListenerRunner.java:25) ~[classes/:?]
	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:792) ~[spring-boot-2.3.12.RELEASE.jar:2.3.12.RELEASE]
	... 5 more
Caused by: com.sun.mail.iap.CommandFailedException: A4 NO SELECT Unsafe Login. Please contact kefu@188.com for help
	at com.sun.mail.iap.Protocol.handleResult(Protocol.java:412) ~[jakarta.mail-1.6.7.jar:1.6.7]
	at com.sun.mail.imap.protocol.IMAPProtocol.select(IMAPProtocol.java:1230) ~[jakarta.mail-1.6.7.jar:1.6.7]
	at com.sun.mail.imap.IMAPFolder.open(IMAPFolder.java:1034) ~[jakarta.mail-1.6.7.jar:1.6.7]
	at com.sun.mail.imap.IMAPFolder.open(IMAPFolder.java:977) ~[jakarta.mail-1.6.7.jar:1.6.7]
	at com.cincc.im.mail.receiver.MailListener.initConnect(MailListener.java:68) ~[classes/:?]
	at com.cincc.im.mail.receiver.MailListener.listener(MailListener.java:113) ~[classes/:?]
	at com.cincc.im.mail.receiver.MailListener.asyncListener(MailListener.java:104) ~[classes/:?]
	at com.cincc.im.mail.receiver.MailListenerRunner.run(MailListenerRunner.java:25) ~[classes/:?]
	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:792) ~[spring-boot-2.3.12.RELEASE.jar:2.3.12.RELEASE]
	... 5 more

解决办法

Properties props = new Properties(); 
props.setProperty("mail.store.protocol", "imap"); 
props.setProperty("mail.imap.host", "imap.163.com"); 
props.setProperty("mail.imap.port", "143"); 

HashMap IAM = new HashMap();
//带上IMAP ID信息,由key和value组成,例如name,version,vendor,support-email等。
IAM.put("name","myname");      
IAM.put("version","1.0.0");      
IAM.put("vendor","myclient");      
IAM.put("support-email","testmail@test.com");  
Session session = Session.getInstance(props); 

IMAPStore store = (IMAPStore) session.getStore("imap");
//下方替换对应帐号和授权码
store.connect("testmail@163.com", "password"); 

store.id(IAM);

相关规范链接请参考:
https://www.ietf.org/rfc/rfc2971.txt
https://javaee.github.io/javamail/docs/api/index.html?com/sun/mail/imap/IMAPStore.html
(请使用JavaMail 1.5.1及更新的版本)

正确配置Foxmail客户端以连接163邮箱、QQ邮箱和126邮箱,同时确保邮件传输的安全性,关键在于理解和正确设置不同的邮件协议以及SSL加密。首先,打开Foxmail客户端并选择“账户”菜单下的“新建”,然后按照提示输入邮箱地址、密码和账户名。 参考资源链接:[Foxmail客户端设置教程:一站式教你配置163、QQ、126邮箱](https://wenku.csdn.net/doc/7389rh8tao?spm=1055.2569.3001.10343) 对于163邮箱的配置,你需要在账户设置中选择使用POP3或IMAP协议。POP3协议的服务器地址为***,端口为995,SSL选项需要勾选;而IMAP的服务器地址为***,端口为993,并同样勾选SSL。确保SMTP服务器的地址为***,端口为465,并且在发送邮件选项中启用SSL加密。 对于QQ邮箱,因为QQ邮箱支持POP3和IMAP协议,服务器地址为***和***,端口分别为995(SSL)和993(SSL)。SMTP服务器地址为***,端口同样为465,并启用SSL加密。值得注意的是,QQ邮箱支持通过开启SMTP服务的“需要SMTP身份验证”功能,来确保邮件的安全发送。 对于126邮箱,配置方式与163邮箱类似。POP3的服务器地址为***,端口为995,并启用SSL;IMAP的服务器地址为***,端口为993,并启用SSL。SMTP服务器地址为***,端口为465,并启用SSL加密。 在每个邮箱账户的设置中,务必检查是否启用了“SMTP服务器需要身份验证”,并确保SMTP服务器设置与POP3服务器一致。这样设置后,你就可以在Foxmail中安全地收发163邮箱、QQ邮箱和126邮箱的邮件了。如果你希望深入了解如何在Foxmail中配置邮箱以及如何确保邮件传输的安全性,可以参考这份资料:《Foxmail客户端设置教程:一站式教你配置163、QQ、126邮箱》。这份教程详细介绍了在Foxmail上设置这些邮箱账户的每一个步骤和技巧,适用于新手和希望提高工作效率的专业人士。 参考资源链接:[Foxmail客户端设置教程:一站式教你配置163、QQ、126邮箱](https://wenku.csdn.net/doc/7389rh8tao?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值