zoukankan      html  css  js  c++  java
  • java实现QQ邮箱读取

    下载mail-1.4.7架包,把架包导入项目

    public static void main(String[] args) throws MessagingException, IOException {
            
            //创建属性对象
            Properties p = new Properties();
            p.put("mail.imap.auth.login.disable", "true");//身份验证
            p.put("mail.imap.host", "imap.qq.com");//主机
            p.put("mail.store.protocol", "imap");//协议
            p.put("mail.imap.port", "993");//端口
            
            //qq邮箱需要SSL加密
            p.put("mail.smtp.socketFactory.port", "993");
            p.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
            
            //创建会话
            Session session = Session.getInstance(p);
            //存储对象
            Store store = session.getStore("imap");
            //连接
            store.connect("imap.qq.com","1156380111@qq.com","vesqbmmaicgdibfb");
            
            
            //创建目录对象
            Folder folder = store.getFolder("Inbox");
            //打开模式:只读
            folder.open(Folder.READ_ONLY);
            
            //获取消息,数组
            Message[] ms = folder.getMessages();
            
            //预提取对象
            FetchProfile fp = new FetchProfile();
            //属性
            fp.add(FetchProfile.Item.ENVELOPE);
            //内容
            fp.add(FetchProfile.Item.CONTENT_INFO);
            //标志属性
            fp.add(FetchProfile.Item.FLAGS);
            //x-mailer属性
            fp.add("x-mailer");
            
            //提取
            folder.fetch(ms, fp);
            
            //遍历
            for(Message m : ms) {
                String title = m.getSubject();//邮件的标题
                int size = m.getSize();//邮件的大小
                String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format( m.getSentDate());//邮件的接受时间
                
                System.out.println("标题:"+title);
                System.out.println("大小:"+size);
                System.out.println("接受时间:"+date);
                
                Object obj = m.getContent();//获取邮件内容
                //内容类型判断
                //纯文本
                if(m.isMimeType("text/plain") || m.isMimeType("text/html")) {
                    System.out.println("邮件内容:"+obj);
                }
                //多个组件内容
                if(m.isMimeType("multipart/*")) {
                    //强制转换为多个组件类型
                    Multipart part = (Multipart) obj;
                    //遍历每个组件
                    for(int i=0;i<part.getCount();i++) {
                        //每个组件的内容
                        BodyPart body = part.getBodyPart(i);
                        //判断组件内容的类型
                        //纯文字
                        if(body.isMimeType("text/plain") || body.isMimeType("text/html") ) {
                            System.out.println("邮件内容:"+body.getContent());
                        }
                        //附件
                        if(body.isMimeType("application/octet-stream")) {
                            String fileName = body.getFileName();//获取附件的文件名
                            fileName  = MimeUtility.decodeText(fileName);
                            
                            //存取当前附件
                            //使用输入输出流
                            InputStream is = body.getInputStream();
                            OutputStream os = new FileOutputStream("F:\lishi"+fileName);
                            byte[] b = new byte[1024];
                            int len = 0;
                            while((len=is.read(b)) != -1) {
                                os.write(b, 0, len);
                            }
                            is.close();
                            os.close();
                        }
                    }
                }
            }
        }
  • 相关阅读:
    [DNN模块] DNNPortalDownload_1_0_9a_PA(C#)汉化版
    我的第一个DNN皮肤
    调试DNN的方法
    DotNetNuke系列文章 Skin 與 Container 設計介紹
    DotNetNuke 語言包的上傳步驟
    pstools使用说明
    Android Prefence 总结
    android 来电自动接听和自动挂断
    Android 颜色选择器(ColorPicker)
    修改文件权限与归属
  • 原文地址:https://www.cnblogs.com/luoxiaodou/p/9682935.html
Copyright © 2011-2022 走看看