美文网首页
JavaMail获取发送后邮件的Uid

JavaMail获取发送后邮件的Uid

作者: 会转圈儿的冷冷凉 | 来源:发表于2020-04-26 12:34 被阅读0次
Uid是一封邮件的唯一标识,我们在使用IMAP协议获取一封邮件时一般会这样写:
Session session =generSession();
URLName urln = new URLName("imap", mailHost,Integer.valueOf(mailPort), null, "333", "213");
IMAPStore store = (IMAPStore) session.getStore(urln);
store.connect();
IMAPFolder inbox = (IMAPFolder) store.getFolder("INBOX");
inbox.open(Folder.READ_WRITE);
Message message = inbox.getMessageByUID(183);

那么我们发邮件时怎么获取到这个Uid呢?

Transport transport = session.getTransport("smtp");
transport.connect(mailHost, senderMail, password);
transport.sendMessage(mimeMessage, InternetAddress.parse(MailService.senderMail));

sendMessage是一个void方法
通过阅读JavaMail的官方文档我们能找到答案:
官方文档地址:
https://javaee.github.io/javamail/docs/api/

image.png

这个方法是将新消息同步到邮箱的一个文件夹,也就是同步之后我们才能拿到Uid
的返回值是AppendUID[]类型

IMAPFolder sentBox = (IMAPFolder) store.getFolder(ExChangeConstant.FolderType.SentMessages);
//设置发送已读
newMessage.setFlag(Flags.Flag.SEEN,true);
sentBox.open(Folder.READ_WRITE);
 AppendUID[] appendUIDS = sentBox.appendUIDMessages(new MimeMessage[]{newMessage});
 if(appendUIDS !=null && appendUIDS.length>0)
 {
     return appendUIDS[0].uid;
 }else
 {
     return null;
 }

将新的消息放回到返回Uid即可,一般都是一次发送一个邮件,数组取0个索引即可

有帮助点个小红心哦

相关文章

  • JavaMail获取发送后邮件的Uid

    Uid是一封邮件的唯一标识,我们在使用IMAP协议获取一封邮件时一般会这样写: 那么我们发邮件时怎么获取到这个Ui...

  • JavaMail

    JavaMail发送邮件工具类 }

  • Javamail发送邮件

    这几篇文章写的就挺好了,传送过去看看吧: 1、 使用JavaMail创建邮件和发送邮件 可能遇到的问题:1、因为端...

  • Javamail发送邮件

    1.添加Maven依赖 2.创建email.properties,设置发邮件邮箱的用户名密码 3.添加EmailA...

  • JavaMail发送邮件

    序:最近谈了个单子,做某Model网站,有发送EDM的需求、爬虫的需求、支付宝…为了帮甲方赶时间,签约之前团队分工...

  • 乐字节-Spring 邮件发送

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

  • Internet-邮件协议SMTP/POP3/IMAP

    1.SMTP协议发送邮件 2.POP3协议接收邮件 3.JavaMail发送邮件(SMTP协议) 简书: http...

  • 阿里云 - 25端口封禁解决

    使用JavaMail发送邮件在阿里云服务器邮件发送失败 问题发现 问题产生: SpringBoot使用JavaMa...

  • 简书一

    spring boot 微服务整合javaMail,实现邮件发送 一、基础配置 1.引入邮件发送依赖 2.主配置文...

  • javaMail发送qq邮件(二):可发送抄送密送多人,支持附件

    关于javaMail发送邮件的详细教程可以看Java 发送邮件(菜鸟教程)本文的基础代码也来自这里。 关于实现的效...

网友评论

      本文标题:JavaMail获取发送后邮件的Uid

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