У меня есть различные электронные письма, отправляемые через почту PHP. Проблема в том, что, например, когда я получаю электронное письмо, оно правильно отображается в теле без какого-либо окружающего html. По какой-то причине другие люди, с которыми я его тестирую, получают его с отображением html.

Вот пример одного из отправленных писем:

        $Email = $result['Email'];
        $check_profi = $result['check_profi'];
        $check_reply = $result['check_reply'];

        if($prof->id != $auth->id && $check_profi == 'checked') {

        $to = $Email;
        $subject = "$auth->first_name $auth->last_name left you a comment on Blah.com";
        $message = "$auth->first_name $auth->last_name left you a comment on Blah.com: <br /><br />\"$body\"<br /><br /> <a href='http://www.Blah.com.php?id=" . $prof->id . "'>Click here to view</a><br /><br />Do LIFE,<br />";
        $from = "Blah <noreply@Blah.org>";
        $headers  = 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
        $headers .= "From: $from";
        mail($to, $subject, $message, $headers);
    }

Мне предложили почтовую программу PHP, но это отличный способ решить что-то простое, что мне нужно сделать. Моя почта уже настроена, и она отлично работает, за исключением этой небольшой проблемы.

0
LightningWrist 24 Июн 2010 в 20:34

2 ответа

Лучший ответ

Возможно, вы забываете некоторые необходимые заголовки. Обычно я использую специальную почтовую библиотеку, чтобы избежать этих проблем, например PHPMailer (http://sourceforge.net/projects/ phpmailer /)

1
Angel Aparicio 24 Июн 2010 в 23:00

У тех, кто видит HTML, вероятно, нет читателей, поддерживающих электронную почту HTML. Попытка включить альтернативу в виде открытого текста.

0
Chuck 24 Июн 2010 в 22:37