Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/14: Рейтинг темы: голосов - 14, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 17.11.2012
Сообщений: 8

Проблемы с кодировкой письма приходящего на почту

17.11.2012, 15:06. Показов 2743. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть 2 файла в кодировке utf-8. Первый:

HTML5
1
2
3
4
5
6
7
8
9
<form method="POST" action="pages/mailform.php">
        Имя:<br />
        <input type="text" name="Name" size="20"><br />
        E-Mail:<br />
        <input type="text" name="email" size="20"><br />
        Сообщение:<br />
        <textarea rows="5" name="message" cols="38"></textarea><br />
        <input type="submit" value="Отправить сообщение">
    </form>
Второй:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$email = 'mail@mail.ru';
$subject = 'Сообщение с веб-сайта';
 
//foreach ($HTTP_POST_VARS as $var) {
foreach ($HTTP_POST_VARS as $key => $value) {
    $text .= "$key = $value \n";
    
}
 
$from = $HTTP_POST_VARS['name'] . ' ' . $HTTP_POST_VARS['email'];
mail($email,$subject,$text,"From: $from\nReply-To: $from\n");
 
?>
Сообщения, написанные на русском приходят в таком виде:
Name = 78676585686
email = 8986
message = я─п╬п©п╩п╬п©п╪п╩п╬п©п╦п╩п╬п©п╦п╩п╬п© п╩п╦
Помогите, пожалуйста, исправить кодировку и подскажите, как заменить Name, email, message в письме на русские. Я сам верстальщик и в php не рублю. Заранее спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.11.2012, 15:06
Ответы с готовыми решениями:

Неверная кодировка письма приходящего на почту
Отправляю письмо через функцию mail() &lt;?php $your_name = substr(htmlspecialchars(trim($_POST)), 0, 100); ...

Расшифровать имя файла, приходящего на почту
Здравствуйте. Вопрос следующего характера. Пишу для сайта модуль для работы с почтой по протоколу IMAP. С получением и сохранением файлов...

Как и где изменить текст письма приходящего после регистрации пользователя
у меня вопрос как можно изменить письмо приходящее после регистрации на маил мне нужно изменить сам текст письма

12
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
17.11.2012, 15:25
попробуйте так
PHP
1
mail($email,$subject,$text,"From: $from\nReply-To: $from\nContent-type: text/plain; charset=utf-8\n")
0
0 / 0 / 0
Регистрация: 17.11.2012
Сообщений: 8
17.11.2012, 15:55  [ТС]
К сожалению, с такой модификацией кода сообщение совсем не приходит.
0
 Аватар для foxxp
83 / 21 / 1
Регистрация: 17.11.2012
Сообщений: 351
17.11.2012, 15:59
Скачиваешь PHPMAiler.
http://sourceforge.net/projects/phpmailer/

Подключаешь этим файлом:
http://phpmailer.worxware.com/... mplebgmail

Отправка будет через gmail, настраивать ..только логин и пароль от gmail'a впишешь. С кодировкой, там все хорошо.
0
0 / 0 / 0
Регистрация: 17.11.2012
Сообщений: 8
17.11.2012, 16:03  [ТС]
Спасибо, но хотелось бы узнать, как поправить мой код.
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
17.11.2012, 16:07
PHP
1
2
3
4
5
6
7
8
 $headers  = 'From: ' . $from . PHP_EOL;
        $headers .= 'Reply-to: ' . $from . PHP_EOL;
        $headers .= 'Subject: ' . $subject . PHP_EOL;
        $headers .= 'Date: ' . date('r') . PHP_EOL;
        $headers .= 'MIME-version: 1.0' . PHP_EOL;
        $headers .= 'Content-type: text/plain; charset=utf-8' . PHP_EOL;
        $headers .= 'Content-Transer-Encoding: 8bit' . PHP_EOL;
        mail($email, $subject, $text, $headers);
1
0 / 0 / 0
Регистрация: 17.11.2012
Сообщений: 8
17.11.2012, 16:31  [ТС]
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
<?php
//  << - stoned animations online mailform.php - >>
// <<< - Stoned Animations online © 2000 - 2001 - >>>
 
 
// All you need to change is the e-mail addy:
$email = '111@mail.ru'; // ------------ УКАЖИ СВОЙ E-MAIL
$subject = 'Сообщение с веб-сайта';
 
//foreach ($HTTP_POST_VARS as $var) {
foreach ($HTTP_POST_VARS as $key => $value) {
    $text .= "$key = $value \n";
    
}
 
$from = $HTTP_POST_VARS['name'] . ' ' . $HTTP_POST_VARS['email'];
$headers  = 'From: ' . $from . PHP_EOL;
        $headers .= 'Reply-to: ' . $from . PHP_EOL;
        $headers .= 'Subject: ' . $subject . PHP_EOL;
        $headers .= 'Date: ' . date('r') . PHP_EOL;
        $headers .= 'MIME-version: 1.0' . PHP_EOL;
        $headers .= 'Content-type: text/plain; charset=utf-8' . PHP_EOL;
        $headers .= 'Content-Transer-Encoding: 8bit' . PHP_EOL;
        mail($email, $subject, $text, $headers);
 
?>
Сообщения не доставляются
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
17.11.2012, 16:35
я не знаю я при помощи этого кода отправил не одну сотню писем
0
0 / 0 / 0
Регистрация: 17.11.2012
Сообщений: 8
17.11.2012, 16:38  [ТС]
Можешь полный текст кода выложить?
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
17.11.2012, 16:40
ну не знаю поможет ли он вам, у меня абстрактный класс на основе которого я наследую другие классы уже с конкретными темами писем, для регистрации, для востановления пароля и т.д
Кликните здесь для просмотра всего текста
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
abstract class Mail_base
{
    protected $to;
    protected $from = 'robot@streetracer.vrozetke.com';
    protected $reply = 'admin@streetracer.vrozetke.com';
    protected $theme;
    protected $mail = '';
    protected $headers = '';
    public $message = '';
    
    function __construct()
    {
        $this->headers();
    }
        
    protected function send()
    {
        //$this->mail = wordwrap($this->mail, 70);
        if (mail($this->to, $this->theme, $this->mail, $this->headers)){
            $this->message = lang('письмо успешно отправлено');
            return true;
        } else {
            $this->message = lang('письмо не отправлено');
            return false;
        }
    }
    
    protected function headers()
    {
        $this->headers .= 'From: ' . $this->from . PHP_EOL;
        //$this->headers .= 'To: '.$this->to.PHP_EOL;
        $this->headers .= 'Reply-to: ' . $this->reply . PHP_EOL;
        $this->headers .= 'Subject: ' . $this->theme . PHP_EOL;
        $this->headers .= 'Date: ' . date('r') . PHP_EOL;
        $this->headers .= 'MIME-version: 1.0' . PHP_EOL;
        $this->headers .= 'Content-type: text/plain; charset=utf-8' . PHP_EOL;
        $this->headers .= 'Content-Transer-Encoding: 8bit' . PHP_EOL;
    }
}
0
0 / 0 / 0
Регистрация: 17.11.2012
Сообщений: 8
17.11.2012, 17:24  [ТС]
Может ли кто-нибудь помочь с решением проблемы?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
17.11.2012, 17:30
Цитата Сообщение от GHST-lead Посмотреть сообщение
$HTTP_POST_VARS
везде замените на $_POST
Здесь буква еще пропущена:
Цитата Сообщение от GHST-lead Посмотреть сообщение
$headers .= 'Content-Transfer-Encoding: 8bit'
0
 Аватар для vpupkin97
15 / 2 / 1
Регистрация: 24.09.2012
Сообщений: 8
22.11.2012, 11:50
Для того, чтобы получатель знал в какой кодировке сообщение (тело сообщения), надо указать encoding в заголовках (если точнее, то в Content-type).

Для того, чтобы он знал в какой кодировке тема письма/отправитель/название вложения надо использовать конструкцию =?<Кодировка>?B?<Текст в Base64>?=.

З.Ы. Почитайте эти две статьи, думаю вам поможет:
1. Отправка email при помощи PHP
2. Отправка письма с вложением
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.11.2012, 11:50
Помогаю со студенческими работами здесь

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

Отправление письма с правильной кодировкой
Приветствую уважаемые гуру! Помогите решить проблему, я не кодер, но мне нужно решить маленькую проблему. Имеется код отправки письма с...

Неполадки с кодировкой при отправке письма
Привет всем. делаю обратную связь, она нормально работает но приходит письмо и в место букв одни знаки вопроса у меня сам файл в utf-8 все...

Проблема с кодировкой при отправке письма
Здравствуйте. Пишу курсовую на тему &quot;Почтовый клиент&quot; на С++ Builder (EmbarcaderoRAD Studio XE) Возникла проблема: При отправке...

Отправка письма на почту
Как можно отправить письмо на почту? Перепробовал кучу вариантов не выходит. Использую программу open server.


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru