Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 22.06.2013
Сообщений: 38
1

Отправка сообщений на почту

07.12.2013, 19:03. Показов 3317. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток, столкнулся с такой проблемой
В общем есть файл mail.php в этом файле есть такой код для отправки сообщений на почту:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 
</head>
<body>
<?php
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['email'])) {$email = $_POST['email'];}
if (isset($_POST['tel'])) {$tel = $_POST['tel'];}
 
$to = "qwerty@qw.ru"; 
$headers = "Content-type: text/plain; charset = utf-8";
$subject = "Новое сообщение";
$message = "Имя: $name \nТелефон: $tel \nEmail: $email";
$send = mail ($to, $subject, $message, $headers);
 
?>
 
</body>
</html>

Проблема в чем: когда записываю email на английском языке "$to = "qwerty@qw.ru"" тогда письма доходят и все в порядке, если же записываю email на русском к примеру "$to = "qwerty@текст-текст.рф"" тогда письма не доходят.
Возможно причина в том что в email есть русские буквы, подскажите пожалуйста как исправить эту проблему? может нужна кодировка какая-то или доп. код
Буду весьма вам благодарен
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2013, 19:03
Ответы с готовыми решениями:

Отправка сообщений на почту
Подскажите, если на сайте есть некая форма для отправки сообщений &lt;form id=&quot;form&quot;&gt; &lt;div...

Отправка сообщений на почту smtp
Добрый день! не могу настроить отправку почты на адрес клиента с помощью smtp. Я нашел код в...

Обратная связь (отправка сообщений на почту)
Привет всем, кто может помочь? Мне нужно что бы с &quot;Обратной связи&quot; отправлялось сообщение на...

Отправка сообщений на почту с двух форм
Привет всем! На странице имеются две формы. Первая предназначена для отправки заказа. Вторая...

4
55 / 53 / 18
Регистрация: 05.08.2013
Сообщений: 327
08.12.2013, 10:29 2
ни разу не сталкивался с эти, но думаю можно попробовать сделать так
PHP
1
mb_strtolower($qwerty@текст-текст.рф, 'UTF-8')
0
562 / 339 / 87
Регистрация: 15.05.2013
Сообщений: 812
Записей в блоге: 1
08.12.2013, 12:02 3
Если не ошибаюсь, то кириллицу в почтовых заголовках нужно base64-кодировать, поскольку по стандарту в заголовках не могут находиться символы вне диапазона 32 - 127 (диапазон не вспомню, но не суть важно ).
Для этого есть функция base64_encode(), и куча инструкций в поисковиках.

Хотя, я могу и ошибаться, и будет достаточно просто обрамить e-mail в угловые скобки:
PHP
1
$to = "<qwerty@qw.ru>";
0
32 / 32 / 5
Регистрация: 15.11.2010
Сообщений: 167
08.12.2013, 17:39 4
Может это поможет
Punycode – конвертация.
– это конвертация символов в кодировке Unicode в формат, поддерживаемый инфраструктурой DNS. Алгоритм преобразования описан в стандарте RFC 3492.
Чтобы IDN(Интернационализованные доменные имена)-домен после преобразования нельзя было спутать с обычным доменом, все IDN-домены начинаются со специального префикса «XN--».
Для пользователей Рунета, которые первыми получили возможность регистрации и использования в своих проектах IDN-доменов в кириллической зоне .РФ, Punycode-преобразование применяется не только к имени домена, но и к зоне (домен верхнего уровня – .РФ). Псевдонимом, прописанным в DNS, для домена .РФ является сочетание символов «XN--P1AI». Таким образом, кириллический домен «МойСайт.РФ» после Punycode-преобразования будет выглядеть «XN--80ARBJKTJ.XN--P1AI».
2
0 / 0 / 0
Регистрация: 22.06.2013
Сообщений: 38
09.12.2013, 16:18  [ТС] 5
Спасибо Вам Evgeniy71rus , Ваш метод помог)
Цитата Сообщение от Evgeniy71rus Посмотреть сообщение
Может это поможет
Punycode – конвертация.
– это конвертация символов в кодировке Unicode в формат, поддерживаемый инфраструктурой DNS. Алгоритм преобразования описан в стандарте RFC 3492.
Чтобы IDN(Интернационализованные доменные имена)-домен после преобразования нельзя было спутать с обычным доменом, все IDN-домены начинаются со специального префикса «XN--».
Для пользователей Рунета, которые первыми получили возможность регистрации и использования в своих проектах IDN-доменов в кириллической зоне .РФ, Punycode-преобразование применяется не только к имени домена, но и к зоне (домен верхнего уровня – .РФ). Псевдонимом, прописанным в DNS, для домена .РФ является сочетание символов «XN--P1AI». Таким образом, кириллический домен «МойСайт.РФ» после Punycode-преобразования будет выглядеть «XN--80ARBJKTJ.XN--P1AI».
0
09.12.2013, 16:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2013, 16:18
Помогаю со студенческими работами здесь

Отправка сообщений на почту с PHP формы через пхп исполнитель
Доброй ночи форумчане. Не знаю , пишу ли я по теме или нет,но суть что использую PHP. В общем, в...

Рассылка сообщений на почту
Парни, даже не знаю с чем связано... Может подскажете... На n организацию приходит непонятные...

Задержка сообщений с сайта на почту
Добрый день. Надеюсь правильную тему выбрал ).. Сделал сайт себе небольшой в adobe muse (т.к. в...

Как реализовать select форма отправки сообщений на почту
Не подскажите как реализовать &quot;select форма отправки сообщений на почту&quot; Название/Цена:&lt;select&gt; ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru