Gmail RESTAPI如何通过gmail php api获取任何mime类型消息的邮件正文?

时间:2016-08-05 17:13:05

标签: gmail gmail-api incoming-mail

我正在开发一个项目,通过GMAIL REST API检索gmail收件箱消息,并将它们填充到一个新的用户界面中,该界面将用于其他目的。这个项目是用PHP编写的。我目前正在使用PHP版本。这是我用来检索邮件正文的代码段。

$service = new Google_Service_Gmail($client);
$user = 'me';
    function get_Message_Body($messageId,$service)
    {
        $optParamsGet = [];
        $optParamsGet['format'] = 'full';
        echo "this is optParamsGet";
        var_dump($optParamsGet);
        $message = $service->users_messages->get('me',$messageId,$optParamsGet);
        echo "this is message";
        var_dump($message);
        echo "<pre>".$message->snippet."</pre>";
        $messagePayload = $message->getPayload();
        $headers = $message->getPayload()->getHeaders();
        $parts = $message->getPayload()->getParts();
        $body = $parts[0]['body'];
        echo "this is body";
        var_dump($body);
        $rawData = $body->data;
        $sanitizedData = strtr($rawData,'-_', '+/');
        $decodedMessage = base64_decode($sanitizedData);
        echo $decodedMessage;
    }

    get_Message_Body($_REQUEST["id"], $service);

但是,我发现此代码仅适用于具有mime / multipart / alternative类型的消息。但是,我需要为任何类型的Gmail邮件检索邮件正文和附件。我怎么做。这是我在新用户界面上看到的另一个mime类型的输出 The code snippet for retrieving the messages

此处代码段中的邮件正文不会传递到MessagePartBody中的data参数。与mime类型mulipart / alternative这样的代码不同,代码传递到消息body-&gt;部分并在ui上呈现。enter image description here

0 个答案:

没有答案