在 php 中使用 ckeditor 发送 HTML 电子邮件
send HTML email using ckeditor in php
我正在使用 php 使用 CKEditor 发送 html 电子邮件。我可以在收件箱中收到邮件。但格式不正确。我希望收件箱中有 HTML 格式的电子邮件。目前它正在显示 HTML 代码,如输出中所示。你能帮我用 PHP 发送 HTML 格式的电子邮件吗?如果有任何问题,你可以看看我现有的代码吗?
请查看代码及其输出。
<script src="//cdn.ckeditor.com/4.4.7/standard/ckeditor.js"></script>
<div class="panel-body">
<?php if (!isset($_POST['email'])) { ?>
<form class="form-horizontal" role="form" method="post">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">To</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="inputEmail3" placeholder="" name="to_email">
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">Subject</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="inputPassword3" placeholder="" name="subject_email">
</div>
</div>
<div class="form-group">
<label for="message_email" class="col-sm-2 control-label">Message</label>
<div class="col-sm-10">
<textarea class="form-control" id="message_email" rows="3" name="message_email"></textarea>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary" name="email">Send</button>
</div>
</div>
</form>
<?php
} else {
if (!empty($_POST['to_email'])) {
$message = htmlspecialchars($_POST['message_email']);
$subject = htmlspecialchars($_POST['subject_email']);
$headers = '';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers.="From: admin@expertsusa.org";
$email_to = $_POST['to_email'];
echo '<div class="row">';
$html = stripcslashes($message);
if (mail($email_to, $subject, $html, $headers)) {
echo '<div class="col-md-12"> Success :' . $email_to . '</div>';
} else {
echo '<div class="col-md-12"> Fail :' . $email_to . '</div>';
}
echo '</div>';
}
}
?>
<div class="row">
<div class="col-md-5"></div>
</div>
</div><script>
CKEDITOR.replace( 'message_email' );</script>
此代码能够发送任何电子邮件 ID 的邮件,但其输出是:
<p>hi I am <strong>here</strong></p> <hr /> <p> </p>
我已经尝试了很多解决方案,但没有达到效果。
请有人能告诉我这个问题的解决方案。
提前致谢
我找到了解决办法,我这里弄错了
$message = htmlspecialchars($_POST['message_email']);
应该是
$message = $_POST['message_email'];
使用这个$headers
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
并使用 $message
$message = mysql_real_escape_string($_POST['message_email']);
我正在使用 php 使用 CKEditor 发送 html 电子邮件。我可以在收件箱中收到邮件。但格式不正确。我希望收件箱中有 HTML 格式的电子邮件。目前它正在显示 HTML 代码,如输出中所示。你能帮我用 PHP 发送 HTML 格式的电子邮件吗?如果有任何问题,你可以看看我现有的代码吗?
请查看代码及其输出。
<script src="//cdn.ckeditor.com/4.4.7/standard/ckeditor.js"></script>
<div class="panel-body">
<?php if (!isset($_POST['email'])) { ?>
<form class="form-horizontal" role="form" method="post">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">To</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="inputEmail3" placeholder="" name="to_email">
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">Subject</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="inputPassword3" placeholder="" name="subject_email">
</div>
</div>
<div class="form-group">
<label for="message_email" class="col-sm-2 control-label">Message</label>
<div class="col-sm-10">
<textarea class="form-control" id="message_email" rows="3" name="message_email"></textarea>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary" name="email">Send</button>
</div>
</div>
</form>
<?php
} else {
if (!empty($_POST['to_email'])) {
$message = htmlspecialchars($_POST['message_email']);
$subject = htmlspecialchars($_POST['subject_email']);
$headers = '';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers.="From: admin@expertsusa.org";
$email_to = $_POST['to_email'];
echo '<div class="row">';
$html = stripcslashes($message);
if (mail($email_to, $subject, $html, $headers)) {
echo '<div class="col-md-12"> Success :' . $email_to . '</div>';
} else {
echo '<div class="col-md-12"> Fail :' . $email_to . '</div>';
}
echo '</div>';
}
}
?>
<div class="row">
<div class="col-md-5"></div>
</div>
</div><script>
CKEDITOR.replace( 'message_email' );</script>
此代码能够发送任何电子邮件 ID 的邮件,但其输出是:
<p>hi I am <strong>here</strong></p> <hr /> <p> </p>
我已经尝试了很多解决方案,但没有达到效果。 请有人能告诉我这个问题的解决方案。
提前致谢
我找到了解决办法,我这里弄错了
$message = htmlspecialchars($_POST['message_email']);
应该是
$message = $_POST['message_email'];
使用这个$headers
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
并使用 $message
$message = mysql_real_escape_string($_POST['message_email']);