Javamail pop3连接QQ邮箱遇到最深的坑

在使用pop3邮箱连接QQ邮箱接受邮件的时候遇到如下错误

Login fail. A secure connection is requiered(such as ssl)

此时按照错误提示添加如下配置

MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
props.put("mail.pop3.ssl.enable",true);
props.put("mail.pop3.ssl.socketFactory",sf);

然而又出现了

Unrecognized SSL message, plaintext connection?

这时偶然看见

所以修改自己的端口为995即可,不知道为什么网上这么多博客写的都是110,找了好久的错(163的邮箱端口110可以使用)。

以下是全部的连接配置

Properties props = new Properties();
props.setProperty("mail.popStore.protocol", "pop3");       // 使用pop3协议
props.setProperty("mail.pop3.port", "995");           // 端口

MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
props.put("mail.pop3.ssl.enable",true);
props.put("mail.pop3.ssl.socketFactory",sf);

//props.setProperty("mail.debug", "true");
props.setProperty("mail.pop3.host", "pop.qq.com");

Session session = Session.getInstance(props);
pop3Store = (POP3Store) session.getStore("pop3");
pop3Store.connect("pop.qq.com", 995, user, password);
pop3Folder = (POP3Folder) pop3Store.getFolder("INBOX");
/* Folder.READ_ONLY:只读权限
         * Folder.READ_WRITE:可读可写(可以修改邮件的状态)
         */
pop3Folder.open(Folder.READ_WRITE); //打开收件箱

原文地址:https://www.cnblogs.com/badassboy/p/10674296.html

时间: 2024-10-17 22:10:53

Javamail pop3连接QQ邮箱遇到最深的坑的相关文章

java基于javaMail实现向QQ邮箱发送邮件

一.首先开启SMTP服务        在 QQ 邮箱里的      设置->账户->开启 SMTP 服务           注意:开启完之后,QQ 邮箱会生成一个授权码,在代码里连接邮箱使用这个授权码而不是原始的邮箱密码,这样可以避免使用明文密码 二.设置spring配置文件 <?xml version="1.0" encoding="UTF-8"?>    <beans xmlns="http://www.springf

基于java mail实现简单的QQ邮箱发送邮件

刚学习到java邮件相关的知识,先写下这篇博客,方便以后翻阅学习. -----------------------------第一步 开启SMTP服务 在 QQ 邮箱里的 设置->账户里开启 SMTP 服务 完成验证 获取授权码(后面代码实现时使用) -----------------------------第二步 环境配置 即下载第三方库 https://github.com/javaee/javamail/releases -----------------------------第三步 代

用JavaMail通过QQ邮箱来发送邮件(第一篇博客,备忘)

1.先启用QQ邮箱里POP3/STMP服务:生成授权码 2.导入mail.jar包(不要用太古董的技术,你懂得) 3.注意要在代码里加上开启SSL加密的代码 4.直接上代码 import java.util.Properties; import javax.mail.Message;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import java

关于JavaMail实现QQ邮箱发送邮件的简单实现1

一 确认QQ是否开启了POP3/SMPT协议 1.登陆QQ,打开QQ邮箱,点击"设置" 2.点击"账户",拉到下面"POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务" 3.点击"开启",会看见几种验证方式,选择任意一种觉得方便的方式 4.在验证完之后会得到一个授权码,这个授权码先拷贝下来,等一下会作为系统邮箱的密码,要是授权码忘记了也没有关系,可以再重新生成 二 测试代码 1.在成功开启QQ的P

javamail实现用普通QQ邮箱发送邮件

本人最近在写一个Android项目,用户注册的时候想用邮箱验证的方式,于是就需要在服务器端发送电子邮件给新注册用户,邮件内容中包含一个 链接, 当用户点击这个链接将 登录到服务器 的验证逻辑.本人在网上找了很多代码,可能由于是很久以前的了,各大邮箱的规范 什么的都发生改变,所以总是出现一些问题.庆幸 的是,最后还是实现了. 这是我用大号 发给小号 和另外一个 163 邮箱的 测试邮件 首先,发一个连接,我在困扰了了两天之后,终于得到了这位前辈的解救,我发的代码基本上也都是他的源码,只是有几处关键

Yosemite上手动增加基于POP3协议的QQ邮箱账记

不知道是升级到Yosimite还是qq邮箱账户的问题,反正是创建邮箱账号时系统自动创建一个所谓的互联网账号.通过这种方式创建的账号少了一个以往的手动选择账号类型的步骤. 说起来,其实这也是一种进步,可惜的是不知道为什么,通过这种方式建立的邮箱账号在接收邮件时速度超慢,不知各位看官的体验是怎样的,反正老猿是非常的不爽拉. 老猿心中一动,突然想到,还不如使用老的POP3协议接收呢,预先下载到本地,再点击阅读的速度一定会比使用那该死的IMAP快不少. 于是乎,老猿便开始了疼苦的手动配置之旅,原因非它,

javaMail操作QQ邮箱发送邮箱 Demo

最近用到想给项目中加一个功能,就是当项目中某些模块发生异常,在捕获异常后不仅仅写日志抛异常等!还要追加一个发送邮件给该模块的负责人,方便运维定位问题: maven管理的配置: <!-- 邮件 --> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </depe

JavaMail 邮件发送之使用qq邮箱

所需jar包:comment-email.jar     mail.jaractivation.jar 一. 配置QQ邮箱的IMAP 进入qq电子邮件点击 设置->账户里开启 SMTP 服务(开启IMAP/SMTP服务)   注意:在启用QQ邮箱的14天之后才能开启此服务 开启之后会得到授权码,此授权码要记住或者保存到文本文件当中发送邮件的时候需要作为验证密码使用. 二.使用JavaMail发送一封简单邮件 的示例代码: public static void main(String[] args

PHP中利用PHPMailer配合QQ邮箱实现发邮件

由于项目的需要,要实现给我们的网站用户发送邮件,于是就有了这篇博客.以下的内容是我结合网上的例子加上自己的实践的出来的.希望对大家有帮助. PHPMailer的介绍: 优点: 可运行在任何平台之上 支持SMTP验证 发送邮时指定多个收件人,抄送地址,暗送地址和回复地址:注:添加抄送.暗送仅win平台下smtp方式支持 支持多种邮件编码包括:8bit,base64,binary和quoted-printable 支持冗余SMTP服务器,即可以指定主smtp服务器地址也只可以指定备份smtp服务器