POP3_收取QQ邮箱邮件的问题
今天纠结了一天的时间,使用pop3协议收取qq邮箱中邮件时,因为一个特别坑爹的问题重新写n次,最后发现是因为qq邮箱设置了独立邮箱密码,必须的用独立邮箱密码登陆才行,/(ㄒoㄒ)/~~!!!!
但今天干的活也不能白干,所以发出来记录一下代码。
- package com.lkb.thirdUtil.emailbank.test;
- import java.util.Properties;
- import javax.mail.*;
- import javax.mail.internet.*;
- public class MailExample {
- public static void main (String args[]) throws Exception {
- // Get system properties
- Properties props = System.getProperties();
- // Setup mail server
- props.put("mail.pop3.host", "pop.qq.com");
- props.put("mail.pop3.port", "995");
- // Get session
- props.put("mail.smtp.auth", "true"); //这样才能通过验证
- props.put("mail.pop3.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
- props.put("mail.pop3.socketFactory.fallback", "false");
- props.setProperty("mail.pop3.socketFactory.port", "995");
- MyAuthenticator myauth = new MyAuthenticator("*****@qq.com", "******");
- Session session = Session.getDefaultInstance(props, myauth);
- Store store = session.getStore("pop3");
- store.connect();
- //session.setDebug(true);
- System.out.println("成功!");
- Folder folder = store.getFolder("INBOX");
- // 只读
- folder.open(Folder.READ_ONLY);
- Message[] mess=folder.getMessages();
- for (Message message : mess) {
- System.out.println(message.getSubject());
- }
- }
- }
--------------------------------------------------------
- package com.lkb.thirdUtil.emailbank.test;
- import javax.mail.PasswordAuthentication;
- class MyAuthenticator
- extends javax.mail.Authenticator {
- private String strUser;
- private String strPwd;
- public MyAuthenticator(String user, String password) {
- this.strUser = user;
- this.strPwd = password;
- }
- protected PasswordAuthentication getPasswordAuthentication() {
- return new PasswordAuthentication(strUser, strPwd);
- }
- }
IMAP形式:
- package com.lkb.thirdUtil.emailbank.test;
- import java.io.UnsupportedEncodingException;
- import java.util.Properties;
- import javax.mail.Authenticator;
- import javax.mail.Folder;
- import javax.mail.MessagingException;
- import javax.mail.PasswordAuthentication;
- import javax.mail.Session;
- import javax.mail.Store;
- public class ImapProtocolImpl extends Authenticator
- {
- private Session session;
- private PasswordAuthentication authentication;
- public ImapProtocolImpl(String username, String password)
- {
- Properties props = new Properties();
- props.setProperty("mail.store.protocol", "imap");
- props.setProperty("mail.imap.host", "imap.qq.com");
- props.setProperty("mail.imap.port", "993");
- props.put("mail.imap.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
- props.put("mail.imap.socketFactory.fallback", "false");
- props.setProperty("mail.imap.auth.login.disable", "true");
- props.setProperty("mail.imap.auth.plain.disable","true");
- authentication = new PasswordAuthentication(username, password);
- session = Session.getInstance(props, this);
- session.setDebug(true);
- }
- @Override
- public PasswordAuthentication getPasswordAuthentication()
- {
- return this.authentication;
- }
- public void connect()
- {
- try
- {
- Store store = session.getStore();
- store.connect();
- Folder root = store.getDefaultFolder();
- Folder inbox = root.getFolder("inbox");
- inbox.open(Folder.READ_WRITE);
- System.out.println(inbox.getMessageCount());
- }
- catch (MessagingException e)
- {
- try
- {
- byte[] buf = e.getMessage().getBytes("ISO-8859-1");
- System.out.println(new String(buf, "GBK"));
- }
- catch (UnsupportedEncodingException e1)
- {
- e1.printStackTrace();
- }
- throw new RuntimeException("登录失败", e);
- }
- }
- }
POP3_收取QQ邮箱邮件的问题的更多相关文章
- php 发送QQ邮箱邮件
这是我的源码比较简陋 https://www.lanzous.com/i2l7h8f 感谢 https://www.cnblogs.com/woider/p/6980456.html 下载phpmai ...
- win10自带邮箱如何使用?win10自带邮箱如何同步qq邮箱邮件?
win10自带邮箱如何使用? 相信很多小伙伴在登录win10自带的邮箱登录QQ邮箱时,显示同步失败或者登录超时,但又找不到相关的资料,下面是我自己邮箱的操作流程,小伙伴可以尝试一下,有什么问题留言即可 ...
- 技术笔记:Indy IdSMTP支持腾讯QQ邮箱邮件发送
1.腾讯QQ邮箱的授权码问题 因为腾讯邮箱折腾了个底朝天,其要搞什么授权码登录第三方客户端,否则会报这个错误: 'Error: 请使用授权码登录.详情请看: http://service.mail.q ...
- Python3+smtplib+poplib+imaplib实现发送和收取邮件(以qq邮箱为例)
一.说明 1.1 程序说明 (1)smtp是邮件发送协议:pop和imap都是邮件接收协议,两者的区别通常的说法是imap的操作会同步到邮箱服务器而pop不会,表现上我也不是很清楚 (2)本程序实现使 ...
- 规划收发你的邮件,使用qq邮箱接收阿里云企业邮邮件
使用qq邮箱接收阿里企业邮 首先管理员开通企业邮后会发来激活短信 根据短信提示打开https://qiye.aliyun.com企业邮登陆地址 使用短信提供的密码登陆邮箱 首次登陆时会让我们重设密码 ...
- outlook创建收信规则,将收到的所有邮件,转发到qq邮箱,然后删除
因为outlook默认只有400M的空间. 使用企业邮箱的时候,很快就满了. 本来是打算在qq邮箱中,添加其他邮箱来收取的. http://service.mail.qq.com/cgi-bin/he ...
- java mail使用qq邮箱发邮件的配置方法
最近自己折腾了下Java中利用mai发送QQ邮件 1.QQ邮箱设置 1.1 进去QQ邮箱-->设置-->账号-->进行设置如下图 2.foxmail设置(由于我要利用它收邮件) 2. ...
- Python编写邮件群发(qq邮箱)
#电子邮件操作 import poplib import smtplib from email.header import decode_header from email.mime.text imp ...
- C#发送Email邮件(实例:QQ邮箱和Gmail邮箱)
下面用到的邮件账号和密码都不是真实的,需要测试就换成自己的邮件账号. 需要引用: using System.Net.Mail; using System.Text; using System.Net; ...
随机推荐
- [整理]JS中的状态机
/*StateMachine*/ var StateMachine = (function(){ function StateMachine(opts){ this.current = opts.in ...
- AngularJS入门基础——控制器
AngularJS中的控制器是一个函数,用来向视图的作用域添加额外的功能.我们用它来给作用域对象设置初始状态,并添加自定义行为. AngularJS同其他JavaScript框架最主要的一个区别就是, ...
- 【转】教你何时开启水果机上的HDR拍照
原址:http://news.mydrivers.com/1/175/175922.htm 苹果在iOS 4.1操作系统中为iPhone 4增加了一项有趣的新功能:HDR拍照.虽然目前市场上支持HDR ...
- MFS - MooseFS 文件系统
MFSMooseFS 文件系统 可以实现RAID 功能:节约成本 实现在线扩展:是一种半分布式文件系统. 一.MFS文件系统的组成 1.mfsmaster 元数据服务器. 在整个体系中负责管理管理文件 ...
- 第5月第15天 php email
1. <?php require_once "Mail.php"; $from = "luckyeggs<fuping304@163.com>" ...
- linux 查看有哪些service
一.利用进程来查看命令里 ps -aux | grep xxx 是查看某个进程或者服务是否存在.二.利用chkconfig配置工具chkconfig --list 可以列出所有的服务在各个runlev ...
- QTP图片验证/图片比较/二进制流对比法
图片验证主要是文件对比,其中我们可以利用二进制的方法读取图片信息,然后进行对比,达到对比的效果,本例子利用fso对象的文件流的方法实现,代码如下: Public Function CompareFil ...
- centos6.5环境DNS-本地DNS主从服务器bind的搭建
centos6.5环境DNS-本地DNS主从服务器bind的搭建 在上一篇博客中我已经搭建好了一个本地DNS服务器,能够实现正向反向解析,那么我们只需要加入一台从DNS服务器即可完成,我们来开始配置主 ...
- Coursera台大机器学习技法课程笔记08-Adaptive Boosting
将分类器组合的过程中,将重点逐渐聚焦于那些被错分的样本点,这种做法背后的数学原因,就是这讲的内容. 在用bootstraping生成g的过程中,由于抽样对不同的g就生成了不同的u,接下来就是不断的调整 ...
- 【转】使用TCP协议连续传输大量数据时,是否会丢包,应如何避免?
使用TCP协议连续传输大量数据时,是否会丢包,应如何避免? 比如发送文件.记得有人提过可能会发生什么堆栈溢出.怎样避免呢?是不是可以收到数据后发送确认包,收到确认包后再继续发送.或是发送方发送了一些数 ...