|
 13 Кб |
|
| Отправляется письмо вот таким кодом:
<?php
$to = "2355@list.ru"; // емайл получателя
$subject = '=?UTF-8?B?'.base64_encode('Тема письма 13:52').'?='; // тема письма
$message = "Здравствуйте<br><br>Если вы это читаете значит все ок <br><br>Почтовый робот "; // текст сообщения
$mailheaders = "Content-type:text/html;charset=UTF-8\r\n"; // формат письма html
$mailheaders .= "From: Вова SiteRobot <sa428@bk.ru>\r\nContent-Type: text/html; charset=UTF-8\r\n"; // емайл отправителя
$mailheaders .= "Reply-To: sa428@bk.ru\r\n"; // емайл для ответа
$mailheaders .= "MIME-Version: 1.0\r\n";
$mailheaders .= "X-Mailer: PHP/5.3\r\n";
if (mail($to, $subject, $message, $mailheaders)) // отправляем письмо
echo 'Письмо успешно отправлено!';
else echo 'При отправке письма возникла ошибка';
|
А приходит письмо вот в таком виде (вложение) - вместо "Вова" в отправителе некие нечитаемые знаки!
Как избавиться от этого дефекта? | |
|
|
|
|
|
|
|
для: Владимир55
(15.06.2013 в 14:55)
| | Поле FROM задавайте также как и тему письма:
$mailheaders .= 'From: =?UTF-8?B?'.base64_encode('Вова SiteRobot <sa428@bk.ru>').'?=';
|
| |
|
|
|
|
 20.4 Кб |
|
|
для: Sfinks
(15.06.2013 в 16:04)
| | Проблема решилась, но лишь частично (см. скриншот) - кириллица отображается верно, но за ней вылезает адрес с припиской >"@skade.from.sh, добавляемой провайдером.
На всякий случай я привожу полный код письма - может быть, в нем что-то еще неверно?
<?php
$to = "2355@list.ru"; // емайл получателя
$subject = "=?UTF-8?B?". base64_encode("Тема письма Скрипт 9. 16:57 ") . "?="; // тема письма
$message = "Здравствуйте<br><br>Если вы это читаете значит все ок <br><br>Почтовый робот "; // текст сообщения
$mailheaders = "Return-path: <sa428@bk.ru>\r\n";
$mailheaders = "Content-type:text/html;charset=UTF-8\r\n"; // формат письма html
$mailheaders .= "From: =?UTF-8?B?" .base64_encode("Вова SiteRobot <sa428@bk.ru>") . "?=\r\n";
$mailheaders .= "Reply-To: sa428@bk.ru\r\n"; // емайл для ответа
$mailheaders .= "MIME-Version: 1.0\r\n";
$mailheaders .= "X-Mailer: PHP/5.3\r\n";
if (mail($to, $subject, $message, $mailheaders)) // отправляем письмо
echo 'Письмо успешно отправлено!';
else echo 'При отправке письма возникла ошибка';
|
| |
|
|
|
|
|
|
|
для: Владимир55
(15.06.2013 в 17:11)
| | Думаю это прелести бесплатного хостинга.
Вообще, я не указываю, обычно, ничего, кроме необходимых заголовков.
А у Вас Content-type аж 2 раза указан. И Return-path указан, но в конечном итоге его не будет в заголовках, т.к. пропущена точка перед =
Я бы от этого всего оставил:
<?php
$to = "2355@list.ru";
$subject = "=?UTF-8?B?". base64_encode("Тема письма Скрипт 9. 16:57 ") . "?=";
$message = "Здравствуйте<br><br>Если вы это читаете значит все ок <br><br>Почтовый робот ";
$mailheaders = "From: =?UTF-8?B?" .base64_encode("Вова SiteRobot <sa428@bk.ru>") . "?=\r\n";
$mailheaders .= "Content-Type: text/html; charset=UTF-8\r\n";
|
| |
|
|
|
|
|
|
|
для: Sfinks
(15.06.2013 в 18:01)
| | Хостинг обычный, отсутствие точки я тоже заметил, но Return-path все равно в получаемом письме отсутствует.
А для проблемы From с кириллицей подошло вот такое решение:
<?php
$mailheaders .= "From: =?UTF-8?B?" .base64_encode("Вова SiteRobot") . "?= <sa428@bk.ru>\r\n";
|
Спасибо! | |
|
|
|
|
|
|
|
для: Владимир55
(15.06.2013 в 17:11)
| | Параметр -f для этой беды служит, но если не поможет, то только с хостом договариваться. | |
|
|
|