Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Русский отправитель в письме
 
 автор: Владимир55   (15.06.2013 в 14:55)   письмо автору
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 
'При отправке письма возникла ошибка';

А приходит письмо вот в таком виде (вложение) - вместо "Вова" в отправителе некие нечитаемые знаки!

Как избавиться от этого дефекта?

  Ответить  
 
 автор: Sfinks   (15.06.2013 в 16:04)   письмо автору
 
   для: Владимир55   (15.06.2013 в 14:55)
 

Поле FROM задавайте также как и тему письма:
$mailheaders .= 'From: =?UTF-8?B?'.base64_encode('Вова SiteRobot <sa428@bk.ru>').'?=';

  Ответить  
 
 автор: Владимир55   (15.06.2013 в 17:11)   письмо автору
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 
'При отправке письма возникла ошибка';

  Ответить  
 
 автор: Sfinks   (15.06.2013 в 18:01)   письмо автору
 
   для: Владимир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";

  Ответить  
 
 автор: Владимир55   (15.06.2013 в 18:19)   письмо автору
 
   для: Sfinks   (15.06.2013 в 18:01)
 

Хостинг обычный, отсутствие точки я тоже заметил, но Return-path все равно в получаемом письме отсутствует.

А для проблемы From с кириллицей подошло вот такое решение:
<?php 
$mailheaders 
.= "From: =?UTF-8?B?" .base64_encode("Вова SiteRobot") . "?= <sa428@bk.ru>\r\n";


Спасибо!

  Ответить  
 
 автор: confirm   (16.06.2013 в 00:14)   письмо автору
 
   для: Владимир55   (15.06.2013 в 17:11)
 

Параметр -f для этой беды служит, но если не поможет, то только с хостом договариваться.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования