Как получать электронные письма, отправленные из gmail API - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть скрипт, который получает входящие письма на мой gmail, но теперь я также хочу получать письма, которые я отправляю по электронной почте.

Вот код, который мне нужен для получения входящих писем

Пожалуйста, дайте мне знать, что мне нужно и для исходящих писем

На данный момент этот код запускается через паб sub на console.google.com

 $ch = curl_init('https://www.googleapis.com/gmail/v1/users/me/messages?labelIds=Label_56&maxResults=10');

    curl_setopt_array($ch, array(
        CURLOPT_POST => false,
        CURLOPT_RETURNTRANSFER => TRUE,
        CURLOPT_HTTPHEADER => array(
            'Authorization: Bearer '. $tokenval,
             'Content-Type: application/json', 
        ),
    ));

    // execute request and get response
   $result = curl_exec($ch);


   $allmessages = json_decode($result);
   $allmessage = $allmessages->messages; 


   for($i=0;$i<count( $allmessage);$i++)
   {
       //echo $allmessage[$i]->id;
     $checkoldmsgid =  $this->Customer_m->getCount('messages',array('massageid'=>$allmessage[$i]->id ));

     if( $checkoldmsgid ==0)
     {

         $ch = curl_init('https://www.googleapis.com/gmail/v1/users/me/messages/'.$allmessage[$i]->id);

                curl_setopt_array($ch, array(
                    CURLOPT_POST => false,
                    CURLOPT_RETURNTRANSFER => TRUE,
                    CURLOPT_HTTPHEADER => array(
                        'Authorization: Bearer '. $tokenval,
                         'Content-Type: application/json'
                    ),
                ));

             // execute request and get response
            $resultm = curl_exec($ch);
            $msgval = json_decode($resultm);





            $sendernum =explode('@',$msgval->payload->headers[19]->value);
            $recivernum =explode('@',$msgval->payload->headers[0]->value);
            $createdat =   date('Y-m-d H:i:s',strtotime($msgval->payload->headers[18]->value));


             $massage = $msgval->snippet;


              $single_message = $service->users_messages->get("me", $allmessage[$i]->id);
              $payload = $single_message->getPayload();


            $body = $payload->getBody();
            $FOUND_BODY = $this->decodeBody($body['data']);

1 Ответ

0 голосов
/ 19 февраля 2019

Возможно, вы захотите использовать системную метку SENT (вместо Label_56) в вашем curl_init() вызове:

SENT

Применяется автоматически к сообщениям, которые отправляются с помощью drafts.send или messages.send , вставляется с помощью messages.insert иэлектронная почта пользователя в заголовке From или отправленная пользователем через веб-интерфейс.

...