Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.96/27: Рейтинг темы: голосов - 27, средняя оценка - 4.96
0 / 0 / 1
Регистрация: 28.09.2013
Сообщений: 9
1

Приходят письма с кракозябрами

17.10.2013, 16:47. Просмотров 5022. Ответов 2
Метки нет (Все метки)

Есть контактная форма и с нее письма приходят в таком виде:
п²п╬п╡я▀п╧ п╥п╟п©я─п╬я│!
Сам сайт имеет кодировку windows-1251, как сделать что бы норм письма приходили?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?php
$post = (!empty($_POST)) ? true : false;
if($post)
{
$email = trim($_POST["email"]);
$name = htmlspecialchars($_POST["name"]);
$email = htmlspecialchars($_POST["email"]);
$tel = htmlspecialchars($_POST["tel"]);
$error = "";
if(!$name)
{
$error .= "Пожалуйста введите ваше имя.<br />";
}
// Check email
function ValidateEmail($value)
{
$regex = "/^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)*\.([a-zA-Z]{2,6})$/";
if($value == "") {
return false;
} else {
$string = preg_replace($regex, "", $value);
}
return empty($string) ? true : false;
}
if(!$email)
{
$error .= "Пожалуйста введите e-mail.<br />";
}
if($email && !ValidateEmail($email))
{
$error .= "Введите корректный e-mail.<br />";
}
// Check tel
function ValidateTel($valueTel)
{
$regexTel = "/^[0-9]{7,12}$/";
if($valueTel == "") {
return false;
} else {
$string = preg_replace($regexTel, "", $valueTel);
}
return empty($string) ? true : false;
}
if(!$tel)
{
$error .= "Пожалуйста введите телефон.<br />";
}
if($tel && !ValidateTel($tel))
{
$error .= "Введите корректный телефон.<br />";
}
if(!$error)
{
$subject ="Новое сообщение!";
$message ="Новый запрос!\n\nE-mail: ".$email."\n\nИмя: " .$name."\n\nТелефон:".$tel."\n\n";
$mail = mail("admin@mail.ru", $subject, $message,
 
"From: ".$name." <".$email."> "."Reply-To: ".$email." "." X-Mailer: PHP/" . phpversion());
if($mail)
{
echo 'OK';
}
}
else
{
echo '<div class="notification_error">'.$error.'</div>';
}
}
?>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.10.2013, 16:47
Ответы с готовыми решениями:

Отправка письма php. Письма со скрипта на локальном сервере (Denwer) не приходят на почту.
Доброго Времени Суток!!! Я запускаю Денвером php скрипт со следующим кодом &lt;?php $name=$_GET;...

Не приходят письма на Outlook
Ребята, помогите! Пытаюсь использовать обычную функцию mail() для отправки писем. Все хорошо, без...

Не приходят письма на mail.ru
Не понимаю в чем дело. На яндекс письма приходят, а вот на мail нет. Что за конфиг необходимо...

Не приходят письма на mail.ru
Здравствуйте! вот такая проблема на сайте есть форма обратной связи и php который должен отправлять...

2
2 / 2 / 3
Регистрация: 26.08.2013
Сообщений: 42
18.10.2013, 00:20 2
попробуйте текст, который отправляете, перекодировать:
PHP
1
$conv_name = iconv("windows-1251", "UTF-8", $name);
и отправлять в письме его
0
0 / 0 / 1
Регистрация: 28.09.2013
Сообщений: 9
18.10.2013, 17:56  [ТС] 3
Вот так заработало:
PHP
1
2
3
4
5
6
7
8
$to = 'admin@mail.ru';
$subject = '=?utf-8?B?'.base64_encode('Новое сообщение!').'?=';
$headers  = 'From: =?UTF-8?B?' . base64_encode($name) . '?= <=?UTF-8?B?' . base64_encode($name) . "?=>\r\n";
$headers .= 'Return-path: <' . $email . ">\r\n";
$headers .= 'Content-type: text/plain; charset=utf-8' . "\r\n";
$headers .= 'Content-Transfer-Encoding: quoted-printable' . "\r\n\r\n";
$message = "Новый запрос!\n\nИмя: $name\n\nEmail: $email\n\nТелефон: $tel\n\n";
$mail = mail($to, $subject, $message, $headers);
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2013, 17:56

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Письма не приходят на почту
Здравствуйте, письма с информации с формы отправки не приходят на почту, вне зависимости какая...

Не приходят письма на mail.ru
Не приходят письма на маил, меняю на яндекс почту все приходит как надо, в чем может быть проблема?...

Не приходят письма с формы заявки
Друзья, с наступающим всех! Создал форму отправки заявки (телефо + имя и кнопка отправить) Сегодня...

Отправка Email. Письма не приходят.
Как правельно отправлять почту на PHP? пробую: if ($stmt-&gt;execute()) { while...

Письма приходят через раз
Столкнулся с очередной проблемой, письма на почту приходят раз через 3 и половина летит в спам ...

Не приходят письма через sendmail
С сервера не приходят письма, отправленные через sendmail, отправляются, но в ящике не появляются,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.