如何检索php gmail api发送邮件的结果并修改消息的标签

时间:2018-11-25 13:13:04

标签: php gmail-api

我正在使用gmail api通过我的php网站发送小型电子邮件活动。 我想知道如何返回已成功发送或未成功发送的消息,并且还捕获了变量中的错误。 (例如,如果电子邮件地址格式不正确或gmail连接出现问题等)

所以我想得到两个变量: $ sent_success = 0或1,取决于返回值。 $ error_msg =“从gmail api捕获到错误消息”

最重要的是,发送邮件后,我想在标签上加上标签,以便将其从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 :(得分:0)

好吧,我用try and catch方法自己解决了:

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

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