【问题标题】:Gmail API ? how to request for an email using Gmail api with format of raw and how to convert it into normal String邮件 API ?如何使用原始格式的 Gmail api 请求电子邮件以及如何将其转换为普通字符串
【发布时间】:2014-08-21 21:02:47
【问题描述】:

有人可以帮我解决这个问题吗?我正在与 合作,我需要在其中阅读电子邮件。我已经阅读了用于阅读邮件的 Gmail API 文档,并且能够将电子邮件阅读为 RFC 格式。如何将其转换为普通文本?

如果我需要使用 Java Libraries Mime 类进行转换,我该如何专门使用它来读取“发件人地址”、“收件人地址”和“邮件正文”?

【问题讨论】:

    标签: gmail-api java gmail-api


    【解决方案1】:

    一旦你有一个原始的 (RFC822) 电子邮件字符串,你就可以使用 java MimeMessage 库来解析它,然后读取标题。我通过搜索java MimeMessage example 找到了一对。你可以使用MimeMessage(Session, InputStream) 构造函数,一旦你有了MimeMessage,你就可以在上面调用getFrom()getHeader(String headerName) 之类的东西。

    虽然不完全是您想要做的,但发送电子邮件的 Gmail API java 指南有些相关,因为它展示了如何处理 MimeMessage 库等:

    https://developers.google.com/gmail/api/guides/sending

    【讨论】:

    • 但是有两个 getHeaders() 方法,一个返回对象数组,另一个返回 getHeader("Header name","delimiters")。我应该使用哪一个?如果我更喜欢第二种方法,应该用什么代替分隔符。
    • 我想这是一个偏好,取决于你想要的标题。对于from,我只使用“getFrom()”,对于To/Cc,您可以使用“getAllRecipients()”,它会进行额外的解析并为您提供解析的地址字段。对于其他标题,我个人只是使​​用 getHeader(headerName) 表单并检查数组,在许多情况下,您可能只期望一个标题(如 Message-Id、List-Id、Sender 等),因此您可以检查它".length == 1"
    猜你喜欢
    • 2017-05-23
    • 2018-05-11
    • 2016-11-25
    • 2011-02-20
    • 2017-05-15
    • 2014-08-06
    • 1970-01-01
    • 1970-01-01
    • 2018-11-03
    相关资源
    最近更新 更多