PhpMailer 发送的电子邮件内容仅显示纯文本,不包含 HTML 样式
Posted
技术标签:
【中文标题】PhpMailer 发送的电子邮件内容仅显示纯文本,不包含 HTML 样式【英文标题】:PhpMailer Sent email content is show only plain text not contain with HTML styles 【发布时间】:2020-10-08 12:15:26 【问题描述】:我在 codeigniter 中使用 phpMailer 库发送电子邮件,电子邮件发送过程正常,我使用 Summernote 编写我的电子邮件内容,summernote 生成我在summernote 中编辑的 html 格式,但是当我发送电子邮件时,收到的邮件有只是纯文本,我不知道为什么会这样..
这里附上PhpMailer函数,
function send_email_common_method($email_id,$password,$to,$subject,$content,$attach_file,$ccmailarray,$bccmailarray,$email_id_name)
include_once(APPPATH."third_party/PHPMailer/PHPMailerAutoload.php");
$mail = new PHPMailer;
$mail->IsHTML(true);
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->Port = 465;//587
$mail->SMTPSecure = 'ssl';
$mail->SMTPAuth = true;
$mail->Username = $email_id;
$mail->Password = $password;
$mail->setFrom($email_id, $email_id_name);
$mail->addAddress($to);
$mail->Subject = $subject;
$mail->msgHTML(strip_tags($content));
$mail->addAttachment($attach_file);
foreach($ccmailarray as $ccarray)
$mail->AddCC($ccarray);
foreach($bccmailarray as $bccarray)
$mail->AddBCC($bccarray);
//print_r($mail);exit;
if (!$mail->send())
$error = "Mailer Error: " . $mail->ErrorInfo;
return 0;
//echo '<p id="para">'.$error.'</p>';exit;
else
return 1;
下面我附上summernote视图代码,
<!--Wysiwyg editor : Summernote placeholder-->
<textarea name="reply_content_email" class="reply_content_email" id
="reply-mailbox-mail-compose"></textarea>
<p class="text-danger" id="reply_content_email_err"></p>
<!-- <div ></div> -->
<div class="pad-ver">
<!--Send button-->
<button id="mail-send-btn" type="submit" name="btn_submit" class="btn btn-primary">
<i class="mailbox-psi-mail-send icon-lg icon-fw"></i> Reply Mail
</button>
</div>
任何人都可以找到解决此问题的方法吗?
【问题讨论】:
【参考方案1】:您正在使用 strip_tags 函数删除所有 HTML 标记。
$mail->msgHTML(strip_tags($content));
只需传递 $content
而不使用 strip_tags
函数。
【讨论】:
谢谢@kopz,我没有注意到,现在它工作正常......【参考方案2】:如果您使用的是 PHPMailer,那么您可以使用
$mail->isHTML(true);
这适用于 html 格式。
【讨论】:
谢谢你的回答先生,我已经包含了这个功能,按照上面@kopz的回答它现在工作正常 太棒了。它具有不同的语法。希望将来会帮助其他人。以上是关于PhpMailer 发送的电子邮件内容仅显示纯文本,不包含 HTML 样式的主要内容,如果未能解决你的问题,请参考以下文章
仅发送纯文本电子邮件,正文中包含 Rails mime 部分
当我们使用 phpMailer 发送带有动态内容的邮件时,如何在电子邮件正文中显示多个内联图像
在 wordpress 中使用 wp_mail 发送 HTML 和纯文本电子邮件