如何使用PHP通过GMAIL api获取新发送的Gmail邮件的ID,以及如何删除或存档此邮件

时间:2018-11-25 15:40:41

标签: php gmail-api

我想知道如何通过Gmail api检索新发送的电子邮件的ID并将其删除或存档。

这是我的Gmail api代码:

$service = new Google_Service_Gmail($client);

    $fromemail = "some@mail.com";
    $strRawMessage = "From: from name <$fromemail> \r\n";
    $strRawMessage .= "To: ".$CONTACTS_FNAME." ".$CONTACTS_LNAME." <$RECIPIENT>\r\n";
    $strRawMessage .= 'Subject: =?utf-8?B?' . base64_encode($EMAILSUBJECT) . "?=\r\n";
    $strRawMessage .= "MIME-Version: 1.0\r\n";
    $strRawMessage .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
    $strRawMessage .= 'Content-Transfer-Encoding: 8bit' . "\r\n\r\n";
    $strRawMessage .= "$EMAILBODY\r\n";
    $mime = rtrim(strtr(base64_encode($strRawMessage), '+/', '-_'), '=');
    $msg = new Google_Service_Gmail_Message();
    $msg->setRaw($mime);
    $service->users_messages->send("me", $msg);

1 个答案:

答案 0 :(得分:0)

您可以使用Users.messages.list检索邮件的ID。响应将类似于以下内容,其中users.messages Resource将包含id

{
  "messages": [
    users.messages Resource
  ],
  "nextPageToken": string,
  "resultSizeEstimate": unsigned integer
}

要删除消息,您可以使用以下任一方法:

对于归档,您可以使用Filtering。过滤器可以根据传入消息的属性或内容自动添加或删除标签,或将电子邮件转发到经过验证的别名。如果要将邮件从收件箱中取出并直接存档到特定标签之一,则需要删除 INBOX标签。

action.removeLabelIds=['INBOX']
相关问题