美文网首页
javaMail(三)

javaMail(三)

作者: 云鲸鱼rain | 来源:发表于2018-12-07 14:58 被阅读0次

之前理解了发邮件,这次这不就轮到收邮件(解析邮件)了。
其实解析邮件内容一直在用,直到最近有一个需求是将邮件转移文件夹。比如收件箱转移到垃圾文件这样。才踩到了一个坑。
这个坑就是POP3协议下邮箱的文件夹目录只有INBOX(收件箱),而只有IMAP协议下才能拿到各个文件夹,从而进行邮件的转移。

public class MailBean  {
    private String imapHost = "";//服务器地址
    private String imapPort = "";//服务器端口号 143
    private String addr = "";//发件人邮箱地址
    private String userName = "";//用户名
    private String password = "";//用户密码
}
public static void makeError(MailBean mailBean)
{
    Properties props = new Properties(); 
    props.setProperty("mail.store.protocol", "imap"); 
    props.setProperty("mail.imap.host", mailBean.getImapHost()); 
    props.setProperty("mail.imap.port", mailBean.getImapPort()); 
    
    Session session = Session.getInstance(props);  
    Store store = session.getStore("imap");     
    store.connect(mailBean.getSmtpHost(), mailBean.getImapPort(), mailBean.getUserName(), mailBean.getPassword());
    
    //显示所有文件夹
    /*
    Folder defaultFolder = store.getDefaultFolder();
    Folder[] folders = defaultFolder.list();
    for (int i = 0;i<folders.length;i++) {
        System.out.println(folders[i].getName());
    }
    */
    
    Folder folder = store.getFolder("INBOX");
    folder.open(Folder.READ_WRITE);
    Message[] msgs = folder.getMessages();          
    Folder dfolder = store.getFolder("垃圾文件");
    dfolder.open(Folder.READ_WRITE);
    
    if (msgs.length != 0) {
        folder.copyMessages(msgs, dfolder);//复制邮件
        folder.setFlags(msgs, new Flags(Flags.Flag.DELETED), true);//删除邮件
    }
    folder.close(true);
    dfolder.close(true);
    store.close();
}

嗯,之后应该看看POP3协议和IMAP协议之间更多的区别。留着下次更新。

相关文章

  • javaMail(三)

    之前理解了发邮件,这次这不就轮到收邮件(解析邮件)了。其实解析邮件内容一直在用,直到最近有一个需求是将邮件转移文件...

  • JavaMail 混淆规则

    JavaMail For Android 混淆规则

  • JavaMail

    JavaMail发送邮件工具类 }

  • 乐字节-Spring 邮件发送

    Spring 邮件发送 主要内容 JavaMail 概述 ​ JavaMail,顾名思义,提供给开发者处理电子邮件...

  • JavaMail

    相关概念 1. 邮箱服务器 就想web要有web服务器一样(tomcat等),邮件也有对应的邮件服务器 2. SM...

  • James+Javamail构建邮箱服务(二)

    1 Javamail的高级应用 1.1 用Javamail实现对邮件的查找 在邮件的高级应用中,当遇到某个帐户中的...

  • Javamail 使用局部代理

    昨天分享了Javamail如何配置icloud邮箱拉取邮件,目前线上job运行良好。传送门 Javamail接收i...

  • JavaMail for Android

    JavaMail for Android Google OAuth Client Library for Java

  • java邮件发送线程阻塞

    看tomcat日志 DEBUG: setDebug: JavaMail version 1.4.3 DEBUG: ...

  • JavaMail for Android

    发送带复件的邮件 防坑: 以HTML形式发送text, 防止被当成垃圾文件. 添加抄送 降低163 [554 DT...

网友评论

      本文标题:javaMail(三)

      本文链接:https://www.haomeiwen.com/subject/gmythqtx.html