Ich benutze Google Mail-API, um E-Mails an verschiedene Kontakte aus meiner Datenbank zu senden. Wenn ich die Nachricht sende, funktionieren die Stile nicht, da dies geschieht, weil das Gleichheitszeichen "=" verloren ist.Gleiches Symbol ist verloren beim Senden einer E-Mail mit gmail api
Zum Beispiel des in der Nachricht bei der Umsetzung
<img src="mysite.com/image.jpg"/>
Aber stattdessen bekam ich das, wo ich setze =
<img src"mysite.com/image.jpg"/>
Dies ist der Teil meiner Funktion, wo ich die Zeichenfolge mache für die Nachricht
$strSubject = $data['subject'];
//$strRawMessage = "From: myAddress<[email protected]>\r\n";
$strRawMessage = "From: <".$data['from'].">\r\n"; //email consultor
//$strRawMessage .= "To: toAddress <[email protected]>\r\n";
$strRawMessage .= "To: <".$data['to'].">\r\n"; //email destinatario
$strRawMessage .= 'Subject: =?utf-8?B?' . base64_encode($strSubject) . "?=\r\n"; //asunto
$strRawMessage .= "MIME-Version: 1.0\r\n";
$strRawMessage .= "Content-Type: text/html; charset=utf-8\r\n";
$strRawMessage .= 'Content-Transfer-Encoding: quoted-printable' . "\r\n\r\n";
$strRawMessage .= $data['message']."\r\n"; //mensaje
// The message needs to be encoded in Base64URL
$msg = $this->createMessage($strRawMessage);
Und hier muss ich die Codierung für die Nachricht
public function createMessage($string){
//$mime = rtrim(strtr(base64_encode($string), '+/', '-_'), '=');
$mime = strtr(base64_encode($string), array('+' => '-', '/' => '_'));
$message = new Google_Service_Gmail_Message();
$message->setRaw($mime);
return $message;
}
Ich versuchte mit verschiedenen Methoden auf meine Funktion createMessage(), aber ich habe immer noch dieses Problem.