HTML-содержание электронной почты с использованием PHP - PullRequest
0 голосов
/ 12 января 2012

Я использую PHP-код для отправки электронной почты. Вот мой код

<?php

$message ="<html><head><title>Enquiry Email</title></head><body>";
$message .= '<div style="float:left"><img src="url" /></div>';
$message .="You got a new Enquiry From Following <br/>"; 
foreach($_POST as $key =>$value){
        if(!empty($value)){
            $message.="<strong>".ucwords($key)."</strong>: ".$value."<br/>";
        }
}
$message .= 'test content</body></html>';
//echo $message; exit;
//$message=rtrim(chunk_split(base64_encode($message)));
$to      = 'test@someeamil.com';
$subject = 'New Enquiry';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-Type: text/html; charset=ISO-8859-1' . "\r\n";
//$headers . ='Content-Transfer-Encoding: base64';
$headers .= "From: test email<test@someemail.in>\r\n";

mail($to, $subject, $message, $headers);
?>

Я получил письмо в этом формате

Subject: New Enquiry

Content-Type: text/html; charset=ISO-8859-1

From: test email<test@someemail.in>

Message-Id: <20120110134752.3AE7B2A91E@somename.in> Date: Tue, 10 Jan 2012 19:17:52 +0530 (IST) X-Brightmail-Tracker: AAAAAA== X-Brightmail-Tracker: AAAAAA==


<html><head><title>Enquiry Email</title></head><body><div style="flaot:left"><img src="linkurl" /></div>You got a new Enquiry From Following <br/><strong>Customer</strong>: Customer<br/><strong>Title</strong>: Mr.<br/><strong>Fistname</strong>: gurpreet<br/><strong>Lastname</strong>: Singh<br/><strong>Telephone</strong>: 212344556<br/><strong>Email</strong>: test@test.com<br/><strong>Address</strong>: addrewss Vi<br/><strong>Catalogue</strong>: Catalogue<br/><strong>Meeting</strong>: Meeting at my home / office<br/><strong>Internet</strong>: Internet<br/>some name </body></html>

Но теперь, когда я пытаюсь отправить его на сервер Gmail, онодает правильный вывод в формате HTML.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 05 июня 2012

Заголовок должен быть в правильном формате и удалить пример кода следующим образом:

    $headers = "From: $from";

    // boundary 
    $semi_rand = md5(time()); 
    $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

    // headers for attachment 
    $headers .= "\nMIME-Version: 1.0\n"
             . "Content-Type: multipart/mixed;\n"
             . " boundary=\"{$mime_boundary}\""; 


    $message ="--{$mime_boundary}\n"
             . "Content-Type: text/html; charset=\"iso-8859-1\"\n"
             . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; 

Ваш тег From должен быть до MIME-Version. Приведенный выше код работает нормально. Переставьте свой заголовок.

0 голосов
/ 12 января 2012

Попробуйте использовать стороннюю библиотеку программного обеспечения для электронной почты (например, SwiftMailer ) для упрощения обработки электронной почты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...