nds88
Новичок
Всем привет. Помогите, кто чем может. Я не из любителей при малейших непонятках и чуть не работающем коде , бить тревогу и кидаться с вопросами на форумы, да и с PHP не вчера знаком. Но сейчас я в тупике. И казалось бы над чем... Над простенькой функцией mail() . Заранее прошу прощения если такая тема уже поднималась. Но я перегуглил весь google, но именно такой не встретил, хотя не исключено что не так гуглил.. Теперь собственно сама problem : Написал простенькую форму обратной связи, проверил на Denwer . Как и следовало ожидать, письмицо покорно прибыло по назначению Т.е. в папку !sendmail. Залил на хостинг, заполняю форму, посылаю, проверяю - ящик пуст, при том что никаких багов функция не отдаёт, т.е. работа mail() == true. Смотрю код - в порядке, иду гуглить. Основная масса комментов на похожие посты, грешат на хостинг, мол не работает SMTP. Чуть было уже не поверил, но уж очень засомневался. Решил помучать и без того потёртую функцию. В общем путём нехитрых действий: почитал, в N'ный раз мануал по mail(), проверил все переменные - в порядке,но всё же решил отправить без передачи переменных, а сразу подставляя значения в функцию. В ящике тишина... в потоке негодования, начал сокращать и эти значения, т.к. из 4 ( вообще 5, но у меня было 4 ) параметров принимающихся mail() , необязательным является только 4ый - header , решил с него и начать. И о, чудо! Трей извещает меня о новом письме на почте. Гляжу, оно. Стало интереснее..Ещё общнее, путём ещё более не хитрых действий установил что, трабла таится в заголовке именно "From:", со всеми остальными ( MIME, content-type, reply to и т.д ) работает на ура. Это огорчило меня больше, чем если бы хостинг не поддерживал PHP, и решил всё таки воспользоваться подсказкой "помощь зала" , т.к. 50/50 и звонок другу гуглу я исчерпал. Думаю изложил достаточно подробно, но для приличия приведу код простейшей mail():
Ну вот как то так... Хотел покороче получилось не очень. Заранее благодарен всем, кто хотя бы прочитал.
PHP:
$to = '[email protected]';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To:[email protected]';
mail($to, $subject, $message, $headers);