我在使用Gmail API从PHP发送HTML嵌入式电子邮件时遇到了问题。
以下是代码:
$raw_message .= "To:".$email['name']." <".$email['email'].">\r\n";
$raw_message .= 'Subject: =?utf-8?B?' .base64_encode($email_array['subject']) . "?=\r\n";
// Set the right MIME & Content type
$raw_message .= "MIME-Version: 1.0\r\n";
$raw_message .= "Content-Type: text/html; charset=utf-8\r\n";
$raw_message .= 'Content-Transfer-Encoding: quoted-printable' . "\r\n\r\n";
$mime = rtrim(strtr(base64_encode($raw_message), '+/', '-_'), '=');
$message = new Google_Service_Gmail_Message();
$message->setRaw($mime);
$template = $this->load->view('email/default_email_template', $email_template_array, true);
$raw_message .= $template;
$mime = rtrim(strtr(base64_encode($raw_message), '+/', '-_'), '=');
$message = new Google_Service_Gmail_Message();
$message->setRaw($mime);
$response = $service->users_messages->send($user, $message);
我收到的电子邮件只是纯文本。
可以在这里使用一些帮助。
提前致谢!
编辑:这是我的模板
<body style="height: 100% !important; margin: 0 !important; padding: 0 !important; width: 100% !important;margin: 0 !important; padding: 0 !important;">
<!-- HEADER -->
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse !important;">
<tr>
<td bgcolor="#fff" align="center">
<!--[if (gte mso 9)|(IE)]>
<table align="center" border="0" cellspacing="0" cellpadding="0" width="500">
<tr>
<td align="center" valign="top" width="500">
<![endif]-->
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse !important;max-width: 500px;width: 100% !important; max-width: 100% !important;">
<tr>
<td align="center" valign="top" style="padding: 15px 0;margin: 0 auto !important;" class="logo">
<a href="https://www.example.com" target="_blank">
<img alt="Logo" src="https://example.com/home/images/logo.png" width="90" height="90" style="border: 0; height: auto; line-height: 100%; outline: none; text-decoration: none; display: block; font-family: Helvetica, Arial, sans-serif; color: #ffffff; font-size: 16px;" border="0">
</a>
<span style="font-size: 40px; color: #000000;">mad</span><span style="font-size: 40px; color: #e18a07;">gigs</span>
</td>
</tr>
</table>
<!--[if (gte mso 9)|(IE)]>
</td>
</tr>
</table>
<![endif]-->
</td>
</tr>
<tr>
<td bgcolor="#ffffff" align="center" style="padding: 0px 15px 20px 15px;padding: 50px 15px 50px 15px !important;" class="section-padding">
<table border="0" cellpadding="0" cellspacing="0" width="500" class="responsive-table" style="border-collapse: collapse !important;width: 100% !important;">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border-collapse: collapse !important;">
<tr>
<td>
<!-- COPY -->
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border-collapse: collapse !important;">
<tr>
<td align="center" style="font-size: 25px; font-family: Helvetica, Arial, sans-serif; color: #333333; padding-top: 30px;padding: 10px 5% 10px 5% !important;text-align: center" class="padding-copy">HI THERE</td>
</tr>
<tr>
<td align="center" style="padding: 20px 0 0 0; font-size: 16px; line-height: 25px; font-family: Helvetica, Arial, sans-serif; color: #666666;padding: 10px 5% 10px 5% !important;text-align: center;" class="padding-copy">BODY OF THE EMAIL</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#ffffff" align="center" style="padding: 20px 0px;">
<!--[if (gte mso 9)|(IE)]>
<table align="center" border="0" cellspacing="0" cellpadding="0" width="500">
<tr>
<td align="center" valign="top" width="500">
<![endif]-->
<!-- UNSUBSCRIBE COPY -->
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center" style="border-collapse: collapse !important; max-width: 500px;width: 100% !important;" class="responsive-table">
<tr>
</tr>
</table>
<!--[if (gte mso 9)|(IE)]>
</td>
</tr>
</table>
<![endif]-->
</td>
</tr>
<tr>
<td bgcolor="#DFE4E6" align="center" style="padding: 20px 0px;">
<!--[if (gte mso 9)|(IE)]>
<table align="center" border="0" cellspacing="0" cellpadding="0" width="500">
<tr>
<td align="center" valign="top" width="500">
<![endif]-->
<!-- UNSUBSCRIBE COPY -->
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center" style="border-collapse: collapse !important;max-width: 500px;width: 100% !important;" class="responsive-table">
<tr>
<td align="center" style="font-size: 12px; line-height: 18px; color:#666666;">
</td>
</tr>
</table>
<!--[if (gte mso 9)|(IE)]>
</td>
</tr>
</table>
<![endif]-->
</td>
</tr>
答案 0 :(得分:0)
您可以尝试检查此tutorial有关如何使用PHP发送消息的信息。您将在这里学习如何在电子邮件正文中发送HTML内容,您可以通过多种方式实现这一目标。
这两个是常用的:
只需查看教程,了解您需要的步骤以及作为指南的示例代码。
有关更多信息,请查看以下主题:
答案 1 :(得分:0)
使用内联样式设计email / default_email_template页面。不要使用css类。如果您使用类,您的设计将在Outlook和其他电子邮件服务工具中可见。但不是在gmail中。 因为gmail会为CSS类名添加前缀字符。
答案 2 :(得分:0)
经过几个小时的研究,我终于明白了。
我的原始邮件中的charset
必须设置为Content-Type: text/html; charset=iso-8859-1
&amp;不是utf-8
。
此处有关此主题的更多信息 -
Stackoverflow answer on the difference between UTF-8 and ISO-8859-1
Original article from Wikipidea on ISO-8859-1
现在,我的邮件将全部采用各种风格。检查了不同的客户,&amp;它对所有这些都完美无缺!