我在使用CKEditor以HTML格式发送电子邮件时遇到问题。我有最新的一个并安装到我的网站上。这是我用来测试软件的简单联系表单,但每次我在HTML中插入链接或其他内容时,电子邮件中的输出都是
我的代码是:
<script src="/ckeditor/ckeditor.js" type="text/javascript"></script>
<link rel="stylesheet" href="/ckeditor/sample.css">
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
<html>
<?php
$action=$_REQUEST['action'];
if ($action=="") /* display the contact form */
{
?>
<form action="" method="POST" enctype="multipart/form-data">
<input type="hidden" name="action" value="submit">
Your name:<br>
<input name="name" type="text" value="" size="30"/><br>
Your email:<br>
<input name="email" type="text" value="" size="30"/><br>
Your message:<br>
<textarea name="message" class="ckeditor"></textarea><br>
<input type="submit" value="Send email"/>
</form>
<?php
}
else /* send the submitted data */
{
$name=$_REQUEST['name'];
$email=$_REQUEST['email'];
$message=$_REQUEST['message'];
if (($name=="")||($email=="")||($message==""))
{
echo "All fields are required, please fill <a href=\"\">the form</a> again.";
}
else{
$from="From: $name<$email>\r\nReturn-path: $email";
$subject="Message sent using your contact form";
mail("email@example.com", $subject, $message, $from);
echo "Email sent!";
}
}
?>
</html>
感谢您的帮助
答案 0 :(得分:1)
这是因为您需要向mail()
函数添加正确的标题,否则它将发送纯文本电子邮件。
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
他们可以将内容添加到电子邮件中:
$message = '<html><body>';
$message .= '<h1>Cool Email</h1>';
$message .= '</body></html>';
他们应该工作..祝你好运
答案 1 :(得分:0)
文档很简单;您需要指定指示邮件包含HTML的电子邮件标头:docs
参见示例#4 。
具体做法是:
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
然后将其与现有代码放在一起:
$headers .= "\r\n" . $from;
mail($to, $subject, $message, $headers);
答案 2 :(得分:0)
答案 3 :(得分:0)
我想我会给出简单的答案,因为我一直花了很长时间才弄清楚这一点。希望它能帮助某人。
$send_to = $_POST['send_to'];
$subject= $_POST['subject'];
$body= $_POST['body'];
$headers[] = 'MIME-Version: 1.0';
$headers[] = 'Content-type: text/html; charset=iso-8859-1';
$headers[] = 'From: Your name <your@email.com>';
$msg = '<html><body><head></head>';
$msg .= "Dear $first_name $last_name, \n$body";
$msg .= '</body></html>';
mail($email, $subject, $msg, implode("\r\n", $headers));