IMAPMessage.getUID() 和 Message-ID 标头有什么区别?

2024-05-10

从java邮件的角度来看,这两者有什么区别?我可以看到特定消息的 2 个值不相同。那么我应该如何考虑 IMAP 邮件的唯一 ID?

如果我需要从 IMAP 服务器获取与唯一 ID 相对应的消息,我应该使用吗?

MessageIDTerm

or

IMAPFolder.getMessageByUID()

UID是电子邮件中的唯一标识号IMAP folder。文件夹中的每封邮件都会分配一个uid,可以说是邮件文件夹维护的索引。然而message-id is a header电子邮件的一部分。

用简单的术语来理解,UID是一个唯一的编号,在文件夹内不能重复。如果我在一个文件夹中复制同一封电子邮件两次,则每封邮件都会有相同的标头和相同的消息 ID,但会有不同的 UID。

其他主要区别是,

  • UID 由 imap 服务器分配
  • MessageId 由电子邮件设置 客户。

因此,最好依靠 UID 来提取电子邮件。

Refer : RFC-UID https://www.rfc-editor.org/rfc/rfc3501#section-2.3.1.1

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IMAPMessage.getUID() 和 Message-ID 标头有什么区别? 的相关文章

  • 通过 Gmail 发送电子邮件的属性

    我目前正在编写一个简单的程序 通过 gmail 将电子邮件发送到 gmail 帐户 尝试了各种方法 但经常遇到同样的错误 无法连接到 SMTP 主机 smtp gmail com 端口 587 和属性设置有没有关系 这是我的程序的片段 正在
  • 如何通过代理通过 POP 或 IMAP 获取电子邮件?

    poplib 或 imaplib 似乎都不提供代理支持 尽管我尝试了 google fu 但我找不到太多有关它的信息 我正在使用 python 从各种支持 imap pop 的服务器获取电子邮件 并且需要能够通过代理来完成此操作 理想情况下
  • 使用 C# 向 GMail 发送 IMAP 命令

    我一直在尝试访问我的 GMail 帐户以从我的电子邮件帐户中检索未读电子邮件 但是 我只执行登录 之后的任何操作都不起作用 首先 我连接到服务器 然后发送登录命令 最后发送检查命令 问题是收到的响应仅涉及连接和登录 之后 它就停止等待从 S
  • 使用 javax 邮件发送消息的时间不正确

    问候大家 我有一个问题 当使用 javax mail 从服务器向客户端发送电子邮件时 并将发送日期设置为 message setSentDate new Date 电子邮件在服务器时间发送 客户立即收到邮件 时间是5小时前 如何解决这个问题
  • Javamail 无法收到所有邮件

    我试图获取我的 Gmail 的所有邮件 但只能获取 250 封 根据https javaee github io javamail FAQ gmailsettings https javaee github io javamail FAQ
  • JavaMail 与 Oauth 和 Office365

    我正在用 Java 构建一个简单的命令行应用程序 它可以登录我的电子邮件箱 IMAP 并下载所有附件 我使用了基本身份验证 但 Microsoft 正在禁用它 因此我尝试将我的应用程序转换为使用 OAuth 在阅读了不同的 OAuth 流程
  • .NET 的 IMAP 文件夹路径编码 (IMAP UTF-7)?

    IMAP 规范 RFC 2060 http www faqs org rfcs rfc2060 html 5 1 3 邮箱国际命名约定 描述了如何处理文件夹名称中的非 ASCII 字符 它定义了一个modifiedUTF 7编码 按照惯例
  • MimeMessage.saveChanges 真的很慢

    由于包含以下内容 以下测试的执行时间约为 5 秒m saveChanges import org junit Before import org junit Test import javax mail MessagingException
  • 如何使用 javax.mail.internet.MimeBodyPart.setFileName 保留所有字符?

    我需要使用创建邮件javax mail版本 1 6 2 希望尽可能坚持高级方法 并希望避免自己处理字符编码 折叠以及最终获得有效邮件所需的任何内容 我目前正在处理的一个问题是文件名 因为默认情况下javax mail internet Mi
  • javax.activation.UnsupportedDataTypeException:没有 MIME 类型多部分/混合的对象 DCH;边界

    目前我正在编写一段监听目录的代码 当使用 apk 文件更新目录时 我会将包含此 apk 文件的邮件发送到 gmail 帐户 我在我的程序中使用 Jnotify 和 JAVA Mail 我得到的错误是 javax mail Messaging
  • IMAP fetch() 返回命令错误:BAD [b' 命令参数错误。 12']

    我无法在网上找到示例 故障排除提示 并且不太确定我是否正确解释了文档 任何帮助将不胜感激 我正在连接到电子邮件服务器 并且想要阅读电子邮件主题和正文 我首先像这样建立连接 import imaplib c imaplib IMAP4 SSL
  • org.xml.sax.SAXParseException;cvc-complex-type.2.4.c:匹配通配符严格,但找不到声明

    我在这里要做的就是让邮件发送器通过我的 Java 代码工作 我查看了类似的问题 并按照此处的建议删除了 spring 版本号cvc complex type 2 4 c 匹配通配符严格 但找不到元素 mvc annotation drive
  • Java发送邮件出错

    我的代码是 File Name SendEmail java import java util import javax mail import javax mail internet import javax activation pub
  • PHP IMAP 解码消息

    我有通过 Base64 编码和 8 位编码发送的电子邮件 我想知道如何使用 imap fetchstruct 检查消息的编码 已经这样做了大约两个小时 所以丢失了 然后正确解码 Gmail 和 Mailbox iOS 上的应用程序 将其作为
  • IMAP CONDSTORE 是否得到广泛支持?

    我正在构建一个简单的网络邮件 我想使用 IMAP 的 CONDSTORE 扩展 它允许获取自某个日期以来已更改的所有内容 消息 标志等 这对于将电子邮件客户端同步到IMAP 服务器 但是我完全不知道大多数 IMAP 服务器是否真正支持此 I
  • IMAP 同步

    我正在实现 IMAP 客户端 但 IMAP 邮箱同步存在问题 首先 可以从 IMAP 服务器获取新邮件 但我不知道如何从邮箱中查找已删除的邮件 我应该从服务器获取所有消息并与本地数据进行比较以进行同步吗 通常的方法是对每个文件夹执行以下两个
  • PHP:从 POP3 或 IMAP 下载传入电子邮件,解析它,并将其标记为服务器上的已读/删除

    我正在尝试将传入电子邮件添加到我的网络应用程序中 它是基于 CodeIgniter 和 PHP 构建的 据我所知 我还没有找到任何 CI 库来执行此操作 我想要做的是有一个控制器通过 POP3 或 IMAP 连接到我的邮箱 并检索消息 解析
  • 当搜索文本包含感叹号 (!)、与号 (&) 等时,IMAP“搜索标头”命令失败

    我正在通过 python 访问 GMail 的 IMAP 界面 我运行这样的命令 UID SEARCH HEADER Message ID email protected cdn cgi l email protection 成功 返回匹配
  • Java Mail - 以字符串形式读取附件

    我开始使用 Java Mail 我有一些关于附件处理的问题 如果我们的内容是Multipart即有一个附件 在哪个索引处是实际的附件 在哪个索引处我们可以找到邮件内容 我只想处理附件 这是正确的做法吗 如果我想将给定的附件转换为字符串 只需
  • 大收件箱上的 imaplib.select:命令参数太多

    我正在尝试从 python 脚本访问 Gmail 中的电子邮件 我使用的代码如下 import imaplib m imaplib IMAP4 SSL imap gmail com m login username password m s

随机推荐