Gmail API를 사용하여 모든 html로 이메일을 보내고 싶습니다. 이것은 HTML의 미리보기입니다 : https://docs.google.com/drawings/d/1J0nzeTol6VFr8sB1TlMDbTrSVanDncQ8FOelP_SvmY0/edit이메일 보내기 Gmail과 함께 모든 스타일링을 포함한 HTML 콘텐츠 php api
그러나 이메일에있는 모든 스타일을 내가 내 테스트 계정으로 이메일을 보내 다음 내가받은 편지함에서 이메일을 확인할 때 손실됩니다. 보내는 메일의 스크린 샷입니다. https://docs.google.com/drawings/d/1yfzmlqzMhJMWbJth-o6mfgSJcGAtUIKr41hpvzlFQGE/edit?usp=sharing
전자 메일에서 모든 스타일링을 얻고 싶습니다. 또한 charset iso-8859-1을 시도했지만 여전히 동일한 결과가 나타납니다.
이 내 PHP 코드 : 영업 이익은 Content-Transfer-Encoding: base64
-Content-Transfer-Encoding: quoted-printable
문제가 해결 변경하여 지적
$service = new Google_Service_Gmail($this->client);
$user = 'me';
$strSubject = $subject;
$strRawMessage = "From: <".$from.">\r\n";
$strRawMessage .= "To: <".$to.">\r\n";
$strRawMessage .= 'Subject: =?utf-8?B?' . base64_encode($strSubject) . "?=\r\n";
$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 .= $message."\r\n";
// The message needs to be encoded in Base64URL
$mime = rtrim(strtr(base64_encode($strRawMessage), '+/', '-_'), '=');
$msg = new Google_Service_Gmail_Message();
$msg->setRaw($mime);
//The special value **me** can be used to indicate the authenticated user.
$service->users_messages->send("me", $msg);
해결 할 수 있었다 '콘텐츠 - 전송 - 인코딩 : 인용 - printable'' ' 에'콘텐츠 - 전송 인코딩 : base64 '' –