Как получить результат php gmail api send mail и изменить метку сообщения - PullRequest
0 голосов
/ 25 ноября 2018

Я отправляю небольшие почтовые кампании через мой php-сайт с помощью API gmail.Я хотел бы знать, как вернуть сообщение было успешно отправлено или нет и поймать ошибку в переменной.(например, если формат адреса электронной почты неправильный или проблема с подключением к gmail и т. д.)

Поэтому я хотел бы получить две переменные: $ sent_success = 0 или 1 в зависимости от возврата.$ error_msg = "сообщение об ошибке, полученное из API gmail"

Кроме того, после отправки сообщения я хотел бы добавить к нему метку, чтобы оно удалялось из отправленных элементов в gmail.

Отправка сообщения не вызывает проблем.

Вот мой фрагмент кода:

    $service = new Google_Service_Gmail($client);

    $fromemail = "someemail@mail.com";
    $strRawMessage = "From: fromname <$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 голосов
/ 25 ноября 2018

Хорошо, я решил это сам, используя метод try and catch:

try {
                SEND_MAIL($row['CONTACTS_EMAIL'],$EMAILSUBJECT,$EMAILBODY,$row['CONTACTS_FNAME'],$row['CONTACTS_LNAME']);

            } catch (Exception $e) {
                $err = $e->getMessage();
            }
...