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

Форум PHP

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

 

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

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

тема: неправильная подпись
 
 автор: Vincento   (15.08.2010 в 12:39)   письмо автору
 
 

Доброго времени суток!

вот такой вот код нашел у вас на форуме.


$address = "1111@mail.ru";
$subject = "ля-ля-ля";
$message = "текст";
$header="Content-Type: text/plain; charset=windows-1251";

mail("$address","$subject","$message","$header", "-f222@mail.ru");



Вроде работает, но вот в подписе автор пишет - не почту, с которой было отправлено, а User srv23456 - (номер аккаунта на хостинге)

не подскажете почему?

  Ответить  
 
 автор: sim5   (15.08.2010 в 13:04)   письмо автору
 
   для: Vincento   (15.08.2010 в 12:39)
 

Опция -f не обязательно помогает. Вам надо либо обратиться к хостеру, либо добавить указанный адрес в доверенные через панель управления хостом своим.

  Ответить  
 
 автор: Vincento   (15.08.2010 в 19:24)   письмо автору
 
   для: sim5   (15.08.2010 в 13:04)
 

помогло вот что


mail("$address","$subject","$message",'From: Вася <vasya@mail.ru>', '-fvasya@mail.ru');

  Ответить  
 
 автор: sim5   (15.08.2010 в 19:28)   письмо автору
 
   для: Vincento   (15.08.2010 в 19:24)
 

Ну это собственно не лечение. ) Кстати, так нельзя отправлять русский текст в кодировке 1251, иначе вместо Вася могут получать абракадабру.

  Ответить  
 
 автор: Vincento   (15.08.2010 в 20:34)   письмо автору
 
   для: sim5   (15.08.2010 в 19:28)
 

Ну я так понимаю что надо перед "вася" обязательно поставить тип кодировки текста ! а почему это не лечение?

  Ответить  
 
 автор: sim5   (15.08.2010 в 20:49)   письмо автору
 
   для: Vincento   (15.08.2010 в 20:34)
 

Потому, что вам повезло, вот почему "не лечение". Вы можете хоть наизнанку вывернуться, но если хост определил подставлять свое, то может помочь только ранее сказанное.
Нет, указание кодировки перед этим заголовком ничего не решит, нужно кодировать тему письма, а также имя отправителя, таким образом:

$nameVar = "=?windows-1251?b?" . base64_encode($nameVar) . "?=";

  Ответить  
 
 автор: serenya1983   (15.08.2010 в 16:33)   письмо автору
 
   для: Vincento   (15.08.2010 в 12:39)
 

Я делал следующий образом, в отправители был указанный э-мэйл (info@mysait.ru\)

mail($address, $theme, $message,"Content-type:text/html; charset = windows-1251\r\nFrom: info@mysait.ru\r\n");

  Ответить  
 
 автор: sim5   (15.08.2010 в 16:55)   письмо автору
 
   для: serenya1983   (15.08.2010 в 16:33)
 

Это хост определяет, и он может подставлять свой адрес. Опция -f сразу перед адресом, как раз и призвана решать эту проблему, но, опять таки, не всегда это удается.

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

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