PDA

Просмотр полной версии : Проблема с mail()


a.su.s
07.07.2008, 10:56
Здравствуйте! Есть вот такой код:
mail($admin_email, "Заявка", "Поступила новая заявка:\nИмя: $name\nE-mail: $email\nЖелаемый домен: $domen\nЖелаемый тариф: $tarif\nОписание: $discribe")
При отправки на почту, письмо состоит из каких-то каряк. Я так понял вся проблема в кодировке. Как это можно исправить?

TrUnk_
07.07.2008, 11:02
http://ru2.php.net/manual/ru/book.iconv.php

Dimi4
07.07.2008, 11:09
Отправляй доп. хидеры:
$header = "From: NF auth system \r\nReply-To: $replyto\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html; charset=windows-1251 \r\n";
$header .= "Content-Transfer-Encoding: 8bit\r\n\r\n";

тоесть теперь тебе отправлять так:

mail($admin_email, "Заявка", "Поступила новая заявка:\nИмя: $name\nE-mail: $email\nЖелаемый домен: $domen\nЖелаемый тариф: $tarif\nОписание: $discribe, $header");

a.su.s
07.07.2008, 11:15
Отправляй доп. хидеры:
$header = "From: NF auth system \r\nReply-To: $replyto\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html; charset=windows-1251 \r\n";
$header .= "Content-Transfer-Encoding: 8bit\r\n\r\n";

тоесть теперь тебе отправлять так:

mail($admin_email, "Заявка", "Поступила новая заявка:\nИмя: $name\nE-mail: $email\nЖелаемый домен: $domen\nЖелаемый тариф: $tarif\nОписание: $discribe, $header");

теперь текст будет сообщения выглядит так:

оНЯРСОХКЮ МНБЮЪ ГЮЪБЙЮ:
хЛЪ: fdh
E-mail: dfhfdhg
фЕКЮЕЛШИ ДНЛЕМ: fghdfh
фЕКЮЕЛШИ РЮПХТ: лЮКШИ
нОХЯЮМХЕ: dfgh, From: NF auth system
Reply-To:
MIME-Version: 1.0
Content-Type: text/html; charset=windows-1251
Content-Transfer-Encoding: 8bit

gisTy
07.07.2008, 11:25
отправляй так

$header = "From: NF auth system \r\nReply-To: $replyto\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html; charset=windows-1251 \r\n";
$header .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
mail($admin_email, "Заявка", "Поступила новая заявка:\nИмя: $name\nE-mail: $email\nЖелаемый домен: $domen\nЖелаемый тариф: $tarif\nОписание: $discribe", $header);

a.su.s
07.07.2008, 11:31
отправляй так

$header = "From: NF auth system \r\nReply-To: $replyto\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html; charset=windows-1251 \r\n";
$header .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
mail($admin_email, "Заявка", "Поступила новая заявка:\nИмя: $name\nE-mail: $email\nЖелаемый домен: $domen\nЖелаемый тариф: $tarif\nОписание: $discribe", $header);

тогда отправляет 2 письма: 1 с нужным текстом, но без перевода на новую строку(весь текст на одной строке), 2 просто пустое

gisTy
07.07.2008, 11:36
ну сформируй то что надо отправлять перед отпралением

$header = "From: NF auth system \r\nReply-To: $replyto\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html; charset=windows-1251 \r\n";
$header .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
$message = "Поступила новая заявка:\nИмя: $name\nE-mail: $email\nЖелаемый домен: $domen\nЖелаемый тариф: $tarif\nОписание: $discribe";
mail($admin_email, "Заявка", $message, $header);

и почитай вот здесь http://www.php.su/functions/?mail там в конце приведен пример, только чекст поменяешь и все

PHPoozy
07.07.2008, 11:39
mail('support@mail.ru', 'Эй!', 'Привет ыыыы привет ыыыы пока', 'From: antiadmin <antiadmin@mail.ru>');

мой протести

a.su.s
07.07.2008, 11:43
ну сформируй то что надо отправлять перед отпралением

$header = "From: NF auth system \r\nReply-To: $replyto\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html; charset=windows-1251 \r\n";
$header .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
$message = "Поступила новая заявка:\nИмя: $name\nE-mail: $email\nЖелаемый домен: $domen\nЖелаемый тариф: $tarif\nОписание: $discribe";
mail($admin_email, "Заявка", $message, $header);

и почитай вот здесь там в конце приведен пример, только чекст поменяешь и все

тоже самое, правда второе сообщение не пустое а с каракулями.... :(

Dimi4
07.07.2008, 11:46
Незнаю, писал для себя, там ещо видно все код копипастили и у всех From: NF auth system \r\nReply-To: $replyto\r\n :p

a.su.s
07.07.2008, 11:47
мой протести

тоже не работает( каряки получаются)

PHPoozy
07.07.2008, 11:50
тогда смени хостинг

gisTy
07.07.2008, 11:50
$header = "From: NF auth system \r\nReply-To: $replyto\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html; charset=windows-1251\r\n\r\n";
$message = "Поступила новая заявка:\r\n";
$message .= "Имя: $name\r\n";
$message .= "E-mail: $email\r\n";
$message .= "Желаемый домен: $domen\r\n";
$message .= "Желаемый тариф: $tarif\r\n";
$message .= "Описание: $discribe";
mail($admin_email, "Заявка", $message, $header);

попробуй так... я уже не знаю что тебе предложить...

a.su.s
07.07.2008, 11:54
у меня получилось, ранее описанным способом! Спасибо gisTy! только одна трабла: не переводит на новую строку... не обрабатывает \n.... поможешь?

gisTy
07.07.2008, 12:04
ну не знаю... попробуй так...
$header = "From: NF auth system \r\n";
$header .= "Reply-To: $replyto\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html; charset=windows-1251\r\n\r\n";
$message = 'Поступила новая заявка:</br>';
$message .= 'Имя: '.$name.'</br>';
$message .= 'E-mail: '.$email.'</br>';
$message .= 'Желаемый домен: '.$domen.'</br>';
$message .= 'Желаемый тариф: '.$tarif.'</br>';
$message .= 'Описание: '.$discribe;
mail($admin_email, 'Заявка', $message, $header);