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

Форум PHP

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

 

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

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

тема: Как настроить отправку почты?
 
 автор: sega_z   (17.10.2010 в 19:58)   письмо автору
 
 

Всем привет!

Есть такой скрипт отправки почты:

$otkogo = ...; // От кого
$addr= ...; // Кому
$tema= ...; // Тема письма
$text_mess = ...; // Текст сообщения
if (mail($addr, $tema, $text_mess, "Content-type:text/html; charset = windows-1251\r\n To: $addr \r\n", "-f$otkogo")) 
{
echo "<Script Language='JavaScript'>alert('Письмо успешно отправлено!');</Script><br><p class = 'nadpisy'>Письмо успешно отправлено!</p>";
}
else 
{
echo "<br><span class = 'ohibka'>По техническим причинам, ваше письмо не может быть отправлено!";
}


Скрипт работает, все нормально. Но проблема в том, что у получателя письма в поле "От кого" отображается только обратный адрес.
Что нужно добавить в скрипт, чтобы в этом поле отображалось: имя и адрес отправителя точ в точ как в yandex. (От кого: Из рук в руки - Онлайн <support@irr.ru>)

Заранее благодарен!!!

  Ответить  
 
 автор: sega_z   (20.10.2010 в 21:47)   письмо автору
 
   для: sega_z   (17.10.2010 в 19:58)
 

Что никто не знает????

  Ответить  
 
 автор: mihdan   (21.10.2010 в 11:30)   письмо автору
 
   для: sega_z   (20.10.2010 в 21:47)
 

>Что никто не знает????

Обсуждалось много раз. Воспользуйтесь поиском.

  Ответить  
 
 автор: sega_z   (21.10.2010 в 20:28)   письмо автору
 
   для: mihdan   (21.10.2010 в 11:30)
 

Именно данного примера нет в поиске, я уже искал!!!

  Ответить  
 
 автор: neadekvat   (20.10.2010 в 22:07)   письмо автору
 
   для: sega_z   (17.10.2010 в 19:58)
 

Так и пишите
$otkogo = 'Из рук в руки - Онлайн <support@irr.ru>';

  Ответить  
 
 автор: sega_z   (20.10.2010 в 22:44)   письмо автору
 
   для: neadekvat   (20.10.2010 в 22:07)
 

Пробовал, тогда обратным адресом является сервер моего хостинга. Видимо после знака "-f" должен стоять только адрес, а может и сбивает столку знаки "<" ,">" по краям адреса!!! Не знаю.

  Ответить  
 
 автор: Trianon   (20.10.2010 в 22:47)   письмо автору
 
   для: sega_z   (20.10.2010 в 22:44)
 

а irr.ru - Ваш портал?

  Ответить  
 
 автор: sega_z   (21.10.2010 в 20:28)   письмо автору
 
   для: Trianon   (20.10.2010 в 22:47)
 

Нет. Мой немного похож на него, но ещё в разработке.

  Ответить  
 
 автор: sega_z   (22.10.2010 в 22:18)   письмо автору
 
   для: sega_z   (21.10.2010 в 20:28)
 

Что так никто и не подскажет правильный ответ?

  Ответить  
 
 автор: sl1p   (22.10.2010 в 23:02)   письмо автору
 
   для: sega_z   (22.10.2010 в 22:18)
 

а что за херня тут?

"-f$otkogo"

=>>>>

"From: myName <addr@irr.ru>"

  Ответить  
 
 автор: sim5   (23.10.2010 в 06:54)   письмо автору
 
   для: sega_z   (20.10.2010 в 22:44)
 

Опция -f служит для того, чтобы ваш хостер не подменял адрес (хотя это не обязательно может помочь), и после нее прописывается только адрес. А поля от кого, кому ответить, это заголовками:
<?
//.......
//$reply - адрес, $name - имя отправителя, $subj - тема письма
$CRLF substr(PHP_OS03) != "WIN" "\n" "\r\n";
$sender "=?windows-1251?B?" base64_encode($name) . "?= <" .$reply">"//кодируем в нужном формате
$subj "=?windows-1251?b?" base64_encode($subj) . "?="//кодируем в нужном формате
$headers "From: " $sender $CRLF;
$headers .= "Reply-To: " $reply $CRLF;
$headers .= "Return-path: " $reply $CRLF;
//......

  Ответить  
 
 автор: Николай2357   (23.10.2010 в 09:36)   письмо автору
 
   для: sim5   (23.10.2010 в 06:54)
 

Вот на этом я попался жестоко:
<? 
$CRLF 
substr(PHP_OS03) != "WIN" "\n" "\r\n";

RFC требует обязательно "\r\n". И mail и яндекс последнее время ужесточили правила - письма с "\n" не читают нифига.

  Ответить  
 
 автор: sim5   (23.10.2010 в 09:52)   письмо автору
 
   для: Николай2357   (23.10.2010 в 09:36)
 

Вот отправляю так на майл и яшу и не замечаю подобного.

  Ответить  
 
 автор: Николай2357   (23.10.2010 в 13:02)   письмо автору
 
   для: sim5   (23.10.2010 в 09:52)
 

Вот была тема, я проверил - действительно так. Если смотреть письма прямо на сайте майла - ничего не видно.

  Ответить  
 
 автор: sim5   (23.10.2010 в 13:40)   письмо автору
 
   для: Николай2357   (23.10.2010 в 13:02)
 

Еще раз говорю - ОС сервера FreeBSD, с него отправляются письма. Проверка производилась на всех почтовых серверах, на которых клиенты заказчика имеют адреса, сюда естественно входят майл, яшка, рамблер, гугл, и т.п., а так же на почтовых клиентах. Проблем не наблюдалось, и насколько мне известно не наблюдается и сейчас, иначе заказчик бы мне сообщил об этом.

  Ответить  
 
 автор: Николай2357   (23.10.2010 в 20:59)   письмо автору
 
   для: sim5   (23.10.2010 в 13:40)
 

Я на самом деле боюсь перечить, ибо сам учился у Вас и далее.
Но это не тот случай, когда нужно согласиться.
Факт есть факт - не приемлют они заразы желаемого.

А RFC однозначен...

  Ответить  
 
 автор: sim5   (23.10.2010 в 21:09)   письмо автору
 
   для: Николай2357   (23.10.2010 в 20:59)
 

Ну и sendmail их не заменяет. И принимают письма почтовые сервера. Если честно, то впервые слышу о проблеме с этим связанной. Кроме этого смотрел коды многих классов. А RFC, ну прочитаем еще раз, освежим.

  Ответить  
 
 автор: sega_z   (23.10.2010 в 16:50)   письмо автору
 
   для: sim5   (23.10.2010 в 06:54)
 

Укажите пожалуйста полный код отправки письма, а то что то у меня не получается!

  Ответить  
 
 автор: sim5   (23.10.2010 в 20:22)   письмо автору
 
   для: sega_z   (23.10.2010 в 16:50)
 

А чего вам тут еще неизвестного можно показать? У вас вот с этим проблемы были насколько я понял:
$sender = "=?windows-1251?B?" . base64_encode(то чего вы хотите подставить) . "?= <" . ваше мыло . ">";
headers = "From: " . $sender . $CRLF;

  Ответить  
 
 автор: sega_z   (25.10.2010 в 19:01)   письмо автору
 
   для: sim5   (23.10.2010 в 20:22)
 

А где скрипт отправки письма? Там ведь тоже нужно правильно написать
Я просто именно такой код ещё не видел!!!

  Ответить  
 
 автор: sim5   (25.10.2010 в 19:11)   письмо автору
 
   для: sega_z   (25.10.2010 в 19:01)
 

Какой скрипт? Нет скриптов отправляющих отдельно заголовки и тело сообщения, все это одна задача! Про эту почту и говорить уже не охота. Воспользуйтесь поиском по этому разделу форума и найдете, можете найти подробные описания этого вопроса и в сети.

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

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