【问题标题】:How to get Gmail message id upon sending the mail?如何在发送邮件时获取 Gmail 邮件 ID?
【发布时间】:2012-11-24 05:18:50
【问题描述】:

我正在使用 java 邮件 API 通过 Gmail 帐户发送邮件。我的要求是,在发送邮件时,我需要邮件 ID(或电子邮件的一些唯一 ID)在我的本地数据库中存储一些附加信息。

由于 Transport.send() 方法没有返回值,我无法获取邮件的 ID?

那么两个问题:

1) 任何人都可以帮助我在发送时获取邮件的 Gmail id 吗?

2) “Message-ID”是邮件的唯一标识符吗?

提前致谢。

【问题讨论】:

    标签: jakarta-mail


    【解决方案1】:

    JavaMail 在发送消息时会设置一个 Message-ID。您可以在使用 msg.getMessageID() 发送消息后从消息中读取它。

    【讨论】:

    • 这不起作用。我构造了一个 MimeMessage,但 getMessageID() 仅在 IMAPMessage 中实现 - 一个没有公共构造函数的子类。我们如何做到这一点?
    • 你在使用this method吗?
    【解决方案2】:

    Message-Id 应该是邮件的唯一标识符 (see wiki) 但要获取邮件 ID,您可以自己生成它(这是邮件程序所做的 - 它不是由服务器生成的),或者如果您使用某种 API为您做到这一点,它要么提供一种方法来检索它。如果没有,您可能最终需要获取该邮件正文(即通过密件抄送给自己)并从邮件中提取它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-07
      • 2016-07-31
      • 2014-10-20
      • 2021-03-04
      • 1970-01-01
      • 2019-07-12
      • 1970-01-01
      相关资源
      最近更新 更多