【问题标题】:How to get only the actual body content of a Email in Ballerina如何在 Ballerina 中仅获取电子邮件的实际正文内容
【发布时间】:2018-07-05 19:06:05
【问题描述】:

我想使用 Ballerina Gmail 包读取电子邮件的内容。是否有任何内置机制可以仅读取电子邮件的实际正文内容,不包括发件人的签名。

【问题讨论】:

    标签: ballerina


    【解决方案1】:

    是的。您可以使用我相信您已经开始使用的连接器的 readMessage 功能。成功读取来自 Gmail API 的消息后,它会返回消息类型对象。响应中的 Message 类型有一个 plainTextBodyPart、一个 htmlBodyPart、一个 inlineImgParts 数组和一个 msgAttachments 数组.请参考 Gmail 连接器的 API 文档 [1]。

    plainTextBodyPartMessageBodyPart 类型,它是您的电子邮件正文的 MIME 消息部分,其内容类型为 text/plain

    htmlBodyPartMessageBodyPart 类型,它是您的电子邮件正文的 MIME 消息部分,其内容类型为 text/html

    inlineImgPartsMessageBodyPart 类型的数组,它是 MIME 消息部分的数组,其中包含您的电子邮件的内联图像,其内容类型为 image/任何

    msgAttachmentsMessageBodyPart 类型的数组,它是包含电子邮件附件的消息的 MIME 消息部分的数组。

    因此,如果您只想读取电子邮件的实际正文内容(不包括电子邮件标题),您可以通过上述 MessageBodyPart 类型直接访问它。

    如果您的电子邮件有 HTML 邮件正文,那么您可以按如下方式访问 HTML 邮件正文。

    var response = gmailEP->readMessage(userId, messageId);
    match response {
        gmail:Message m => {
            gmail:MessageBodyPart htmlMsgBody = m.htmlBodyPart;
            string htmlBody = htmlMsgBody.body;
            io:println(htmlBody); 
            // Your html message body will be a base64 encoded string. 
            // You may need to decode it using an inbuild Ballerina library, for your use.
        }             
        gmail:GmailError e => io:println(e);
    

    }

    请注意,一般情况下,您的 Gmail 邮箱中的邮件将同时包含 HTML 和文本邮件正文,除非它是发送给您或由您创建为 text/plain(通过以纯文本模式编写)。因此,当您阅读此类邮件时,它会同时具有 plainTextBodyPart 和 htmlBodyPart。 plainTextBodyPart 的正文将只有没有 HTML 标记的文本正文,而 htmlBodyPart 的正文将包含消息的整个 HTML 内容。

    您可以通过以原始模式查看电子邮件来验证这一点。 (登录并转到您的 Gmail 邮箱的 UI,然后点击您要阅读的邮件右上角的 :(更多)按钮,然后点击显示原件. 您可以将整个邮件视为包含所有标题和 MIME 邮件部分的 MIME 邮件。

    此外,您还可以使用 inlineImgPartsmsgAttachments 获取电子邮件的任何附件和内嵌图像。

    如果您还有任何疑虑,请告诉我。

    [1]https://central.ballerina.io/wso2/gmail#Message

    【讨论】:

      猜你喜欢
      • 2012-05-29
      • 2011-04-09
      • 2016-04-30
      • 1970-01-01
      • 1970-01-01
      • 2011-04-15
      • 1970-01-01
      • 2022-08-24
      • 2016-02-15
      相关资源
      最近更新 更多