PHP Gmail API отправить HTML письмо - PullRequest
0 голосов
/ 07 сентября 2018

Я пытаюсь отправить электронное письмо в формате HTML, используя GMAIL API. Вот мой код, который у меня есть сейчас:

    $boundary = uniqid(rand(), true);
    $objGMail = new \Google_Service_Gmail($googleClient);

    $subjectCharset = 'iso-8859-1';
    $strToMailName = "Recipient name";
    $strToMail = "test@gmail.com";
    $strSesFromName = "Mike";
    $strSesFromEmail = "myemail@gmail.com";
    $strSubject = "Some subject";
    $body = "<p>Hi, man. How are you?</p><a href='#'>Some link</a>";
    $strRawMessage = "";
    $strRawMessage .= 'To: ' . $strToMailName . " <" . $strToMail . ">" . "\r\n";
    $strRawMessage .= 'From: '. $strSesFromName . " <" . $strSesFromEmail . ">" . "\r\n";
    $strRawMessage .= 'Subject: =?' . $subjectCharset . '?B?' . base64_encode($strSubject) . "?=\r\n";
    $strRawMessage .= 'Content-Type: text/html; charset=' . $subjectCharset . "\r\n";
    $strRawMessage .= 'Content-Transfer-Encoding: 7bit' . "\r\n";
    $strRawMessage .= "--{$boundary}\r\n";
    $strRawMessage .= 'Content-Type: text/html; charset=' . $subjectCharset . "\r\n";
    $strRawMessage .= 'Content-Transfer-Encoding: quoted-printable' . "\r\n\r\n";
    $strRawMessage .= $body . "\r\n";

    try {
        $mime = strtr(base64_encode($strRawMessage), '+/', '-_');
        $msg = new \Google_Service_Gmail_Message();
        $msg->setRaw($mime);
        $objSentMsg = $objGMail->users_messages->send("me", $msg);
    } catch (\Exception $e) {
        //handler
    }

И проблема в том, что я получаю сообщение в формате HTML (это нормально), но в верхней части сообщения у меня есть следующее:

--2879837965b92c7e9524748.36333789 Content-Type: text/html; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Date: Fri, 7 Sep 2018 11:48:09 -0700 Message-Id:

Похоже, некоторая часть сообщения включена в "тело" письма. Но я не могу понять, почему это происходит. Пожалуйста, смотрите прикрепленный скриншот ниже: enter image description here

...