Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/66: Рейтинг темы: голосов - 66, средняя оценка - 4.86
3 / 3 / 2
Регистрация: 10.10.2010
Сообщений: 55
1

Кодировка заголовка при отправке на почту письма

02.12.2014, 09:37. Показов 12695. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброе утро, подскажите, что не так с заголовком письма.
Приходят вместо русских символов кракозябры, при этом с телом письма все впорядке.

Для примера, у меня приходит такого формата:
чоп-СЃР±СЃ.СЂС <admin@cyberforum.ru>

А необходимо:
CyberForum.ru - форум программистов и сисадминов <admin@cyberforum.ru>

Код заголовка:
PHP
1
2
3
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html;charset=utf8 \r\n";
$headers .= 'From: Tecт';
Спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2014, 09:37
Ответы с готовыми решениями:

Кодировка при отправке на почту
Вечер добрый, отправляю на почту письмо и летит кодировка! Я уже все перетыкал перепробовал (( &lt;?...

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

Кодировка в теле письма при отправке
Добрый день. У меня следующая проблема. Я отправляю письмо с помощью скрипта через сайт. Ни с одним...

Кодировка письма при отправке Формой обратной связи
Добрый вечер. Нашел на просторах форума простую &quot;форму обратной связи&quot; &lt;?php /** * Класс...

10
53 / 53 / 26
Регистрация: 05.02.2013
Сообщений: 288
02.12.2014, 11:09 2
Лучший ответ Сообщение было отмечено loms как решение

Решение

loms, Может просто нужно кодировать, обычно у самого раньше такие же проблемы возникали.
PHP
1
2
3
4
5
6
7
8
9
<?php
    $msg = "Текст сообщения";
    $answer_email = "test@mail.ru";
    $from = "test1@mail.ru";
    $title = "Тема сообщения";
    $title = "=?utf-8?B?".base64_encode($title)."?=";//Вот этого кодирования вам и не хватает я думаю
    $header = "From: $from\r\nReply-to: $from\r\nContent-type: text/plain; charset=utf-8\r\n";
    mail ($answer_email, $title, $msg, $header);
?>
Это конечно если вы в кодировке utf-8 отправляете, если в другой думаю разберетесь что куда писать
1
3 / 3 / 2
Регистрация: 10.10.2010
Сообщений: 55
02.12.2014, 19:19  [ТС] 3
Monster-95,
Спасибо за ответ! Но немного не то, тут идет кодирование заголовка сообщения в этим проблем нет.
Для примера покажу скриншот:
1. Тут с кодировкой все ок.
2. А вот отправитель, где идет название сайта например и email - косяк


Возможно это из за дурного .рф домена.
0
53 / 53 / 26
Регистрация: 05.02.2013
Сообщений: 288
02.12.2014, 19:23 4
loms, Не думаю что дела в домене, покажите весь код.
1
3 / 3 / 2
Регистрация: 10.10.2010
Сообщений: 55
02.12.2014, 19:25  [ТС] 5
Скрин:
Миниатюры
Кодировка заголовка при отправке на почту письма  
0
53 / 53 / 26
Регистрация: 05.02.2013
Сообщений: 288
02.12.2014, 19:28 6
loms, Это-то понятно, покажите весь код обратной связи, посмотрю на локальном с .рф доменом )))
1
3 / 3 / 2
Регистрация: 10.10.2010
Сообщений: 55
02.12.2014, 19:29  [ТС] 7
Да код стандартный вообщем, собираем данные из формы, убираем пробелы, html теги, закидываем все в $msg (Имя: $name и т.д) в конце отдаем ответ для ajax

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Получаем данные из пост
 
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html;charset=utf8 \r\n";
$headers .= 'From: наш-сайт.рф <sbs@vh9.eurobyte.ru>';
 
$msg .= "Собираем данные формы";
 
$mail = mail ("mymail@yandex.ru",
      "НОВАЯ ЗАЯВКА наш-сайт.рф", 
      $msg,
      $headers);
 
// Если ок отдаем ответ для ajax
0
53 / 53 / 26
Регистрация: 05.02.2013
Сообщений: 288
02.12.2014, 19:37 8
loms, Да все просто, а сам файл в какой кодировке, а еще все таки кодировать
PHP
1
2
3
4
5
6
7
8
9
10
11
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html;charset=utf8 \r\n";
$headers = "=?utf-8?B?".base64_encode($title)."?=";
$headers .= 'From: наш-сайт.рф <sbs@vh9.eurobyte.ru>';
 
$msg .= "Собираем данные формы";
 
$mail = mail ("mymail@yandex.ru",
      "НОВАЯ ЗАЯВКА наш-сайт.рф", 
      $msg,
      $headers);
1
3 / 3 / 2
Регистрация: 10.10.2010
Сообщений: 55
02.12.2014, 20:08  [ТС] 9
Monster-95,
Файл в кодировке utf-8 без boom
0
53 / 53 / 26
Регистрация: 05.02.2013
Сообщений: 288
02.12.2014, 20:12 10
loms, Давай в скайп "beginner-95" ото уже интересно все стало, почему так получается.
1
0 / 0 / 0
Регистрация: 31.01.2016
Сообщений: 1
23.02.2016, 11:49 11
Решить подобную проблему помогла эта статья: Как грамотно отправлять почту из скриптов
0
23.02.2016, 11:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.02.2016, 11:49
Помогаю со студенческими работами здесь

Ошибка по отправке письма на почту
Как Вы поняли у меня ошибка не отправляется письмо на почту при восстановлении пароля! Пароль...

Косяки при отправке письма на почту
Всем привет. Возникла следующая проблема. Отправляю на почту письмо функцией mail. Вся...

Кодировка при отправке письма
Добрый день, подскажите как исправить корявую кодировку. Отправляю письмо с помощью компонента...

Кодировка при отправке письма
Добрый день, подскажите как исправить корявую кодировку. Отправляю письмо с помощью компонента...


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

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