Здравствуйте. Есть простенький код для формы обратной связи:
<?php
$MailToSend = 'dsk8mus@mail.ru';
if(isset($_REQUEST['submit']))
{
@mail(
$MailToSend,
'Сообщение с сайта bani20.ru',
"На сайте готовых бань была заполнена заявка\n Вот ее данные:\n
Имя: $_REQUEST[name]\n
Контактный телефон: $_REQUEST[phone]\n
E-mail: $_REQUEST[email]\n
Сообщение: $_REQUEST[message]\n
",
join("\r\n", array(
"From: bani20@form.nodomain",
"Reply-To: donotreply@form.nodomain"
)
)
);
echo "Спасибо, Ваше сообщение отправлено";
exit;
}
?>
И всё отлично работает, отправляется! Но только на mail.ru с кодировкой сообщения происходит что-то странное, вместо русских символов пишет кракозябры. Уже всё перепробовал. Нужно вставить куда-то код, чтобы переконвертировать кодировку, или я уже не знаю что и делать...
Нужно срочно. Помогите, пожалуйста :(
AllesKlar
6.05.2014 - 15:17
А что документация функции mail по этому поводу говорит?
например, вот в этом месте:
<?php
$headers = array();
$headers[] = "MIME-Version: 1.0";
$headers[] = "Content-type: text/plain; charset=iso-8859-1";
$headers[] = "From: Sender Name <sender@domain.com>";
$headers[] = "Bcc: JJ Chong <bcc@domain2.com>";
$headers[] = "Reply-To: Recipient Name <receiver@domain3.com>";
$headers[] = "Subject: {$subject}";
$headers[] = "X-Mailer: PHP/".phpversion();
mail($to, $subject, $email, implode("\r\n", $headers));
?>
http://de1.php.net/manual/ru/function.mail.php
_____________
[продано копирайтерам]
Игорь_Vasinsky
6.05.2014 - 15:20
http://www.php.net/manual/ru/function.mail.php4 аргумент - заголовок, там кодировку и укажите - в примерах есть.
кодировка должна соответствовать кодировке документа в котором выполняется скрипт.
UPD: опередили
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Спасибо за оперативность! Вставил заголовок, присвоил ему кодировку utf-8 (соответствующую кодировке документа), но mail.ru упрямо присылает в кракозябрах. С яндексом и gmail такого нет, там всё нормально.
Игорь_Vasinsky
6.05.2014 - 15:44
так же в самом скрипте не мешало бы кодировку в заголовке header послать
потом, если что, проверь:
а если windows-1251 поставить?
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker