我想知道如何通过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);
答案 0 :(得分:0)
您可以使用Users.messages.list
检索邮件的ID。响应将类似于以下内容,其中users.messages Resource
将包含id
:
{
"messages": [
users.messages Resource
],
"nextPageToken": string,
"resultSizeEstimate": unsigned integer
}
要删除消息,您可以使用以下任一方法:
Users.messages.delete
,永久会删除邮件,并且无法撤消; Users.messages.trash
,它将邮件移至垃圾箱;或TRASH
标签:action.addLabelIds=['TRASH']
对于归档,您可以使用Filtering。过滤器可以根据传入消息的属性或内容自动添加或删除标签,或将电子邮件转发到经过验证的别名。如果要将邮件从收件箱中取出并直接存档到特定标签之一,则需要删除 INBOX
标签。
action.removeLabelIds=['INBOX']