У меня проблемы с отправкой писем в формате HTML с помощью CKEditor. У меня есть последняя и установлена на мой сайт. Это моя простая контактная форма для тестирования программного обеспечения, но каждый раз, когда я вставляю ссылку или что-то в 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 protected]", $subject, $message, $from);
echo "Email sent!";
}
}
?>
</html>
Спасибо за любую помощь
Это связано с тем, что вам нужно добавить правильные заголовки в функцию 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>';
им это должно сработать.. удачи
Помогает ли это?
How-To-кода в HTML-сообщения электронной почты
Он предлагает отправить ваше html-письмо в Multipart/Alternative MIME
Документация проста; вам нужно указать заголовки электронной почты, которые указывают, что сообщение содержит 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);