Отправка электронных писем с использованием CKEditor в формате HTML

0

У меня проблемы с отправкой писем в формате 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>

Спасибо за любую помощь

  • 0
    Может быть, тип содержимого почты не HTML. В любом случае я бы предложил использовать библиотеку для отправки почты, например SwiftMailer
  • 0
    Вы получили необходимую помощь? Что сработало?
Теги:
email

3 ответа

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>';

им это должно сработать.. удачи

0

Помогает ли это?

How-To-кода в HTML-сообщения электронной почты

Он предлагает отправить ваше html-письмо в Multipart/Alternative MIME

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);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню