PHP GetPayload 方法不返回消息的正文


PHP GetPayload method is not returning the body of the message

我正在使用PHP GMAIL API,以便将电子邮件导入自定义票务系统。 在我的测试过程中,我能够成功导入所有电子邮件放一个。 有问题的电子邮件底部有一个签名。

"____

测试客户端地址

123地址"

当我通过网络浏览器查看电子邮件时,Gmail 会在邮件上抛出"修剪的内容"邮件,即使它是线程中的第一封电子邮件。 此问题仅在这一个实例中发生。

$message = $gmailService->users_messages->get($ticketToken->emailAccount,$messageHeader->getId() );
$messagePayload = $message->getPayload();
$headers = $message->getPayload()->getHeaders();
$parts = $message->getPayload()->getParts();
$body = $parts[0]['body'];
$rawData = $body->data;
$sanitizedData = strtr($rawData,'-_', '+/');
$decodedMessage = base64_decode($sanitizedData);

提前谢谢你

试试

    $body = $message->getPayload()->getBody();
    $rawData = $body->data;
    $sanitizedData = strtr($rawData,'-_', '+/');
    $decodedMessage = base64_decode($sanitizedData);