Проблемы с отправкой html почты в php - PullRequest
0 голосов
/ 05 декабря 2009

Я пытаюсь отправить себе электронное письмо с макетом и изображениями. Что я делаю не так?

<?php
 $message = $_POST['message'];
 $emailsubject = 'site.com';
 $webMaster = 'email@site.com';

 $body = "
 <html>
 <body bgcolor=\"e7e7e7\">
 <style type=\"text/css\">
#body {margin: auto;border: 0;padding: 0;font-family: Georgia, 'Times New Roman',      Times, serif;font-size: 12px;}
#emailHeader {width: 500px;height: 131px;background:      url(http://www.site.com/images/image.gif) no-repeat;}
#emailContent {width: 500px;background: url(http://www.site.com/images/image2.gif) repeat-y;text-align: left;padding: 0 33px 0 6px;}
#emailFooter {width: 500px;height: 34px;background:      url(http://www.site.com/images/image3.gif) no-repeat;}
 </style>
 <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
 <tr>
 <td valign=\"top\" align=\"center\">
 <table width=\"500\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
 <tr>
 <td id=\"emailHeader\"></td>
 </tr>
 <tr>
 <td id=\"emailContent\">
 content $message
 </td>
 </tr>
 <tr>
 <td id=\"emailFooter\"></td>
 </tr>
 </table>
 </td>
 </tr>
 </table>
 </body>
 </html>"
 $headers .= "Content-type: text/html\r\n";
 $success = mail($webMaster, $emailsubject, $body, $headers);

 if ($success) {
    echo "Your message was sent.";
} 
 else{ 
    echo "There was a error.";
}
?>

Ответы [ 3 ]

3 голосов
/ 05 декабря 2009

Вы должны использовать phpmailer вместо mail () PHP - Функция. Позволяет легко отправлять HTML-письма.

Кроме того, вы можете проверить ваш HTML-код на совместимость с электронной почтой.

С наилучшими пожеланиями, Fabian

1 голос
/ 05 декабря 2009

У вас есть ошибка в вашем коде:

НЕВЕРНО

$headers .= "Content-type: text/html\r\n";

RIGHT

$headers = "Content-type: text/html\r\n";

.= выдает ошибку разбора в PHP, если вы ранее не установили $headers где-то еще.

Это также может зависеть от почтового клиента, с которым вы тестируете. Обязательно проверьте http://www.email -standards.org / , чтобы проверить, что поддерживает ваш почтовый клиент.

0 голосов
/ 05 декабря 2009

Вы также можете заглянуть в Zend_Mail из Zend Framework: http://framework.zend.com/manual/en/zend.mail.html

Упростит работу с заголовками, форматами, MIME и т. Д.

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