PhpMailer 发送的电子邮件内容仅显示纯文本,不包含 HTML 样式

我在 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>

任何人都可以找到解决这个问题的方法吗?


摇曳的蔷薇
浏览 211回答 2
2回答

料青山看我应如是

您正在使用strip_tags函数删除所有 HTML 标签。$mail->msgHTML(strip_tags($content));$content没有功能就通过strip_tags。

繁花不似锦

如果您使用的是 PHPMailer,那么您可以使用$mail->isHTML(true);这将适用于 html 格式。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go