Simple Send Mail - вопрос по скрипту

Ben_Laden
На сайте с 26.03.2011
Offline
92
420

тестирую легенький скрипт обратной связи, и вот возник вопрос-проблема.

Текст сообщения сервис G-Mail воспринимает как .txt файл.

Из самого сервиса gmail сообщение не читается необходимо скачивать и открывать txt файл.

Возможно кто мне поможет, что заменить надо в конфиге что бы было как и должно выглядеть обычное сообщение?

p.s. там всего лишь пару строк настроек

png 133164.png
J
На сайте с 20.02.2014
Offline
120
jkm
#1

Как-то странно получается в файле config переменная $charset = "utf-8" но строки в нем windows-1251.

Файл index сохранен в utf-8 но почему тогда там это:

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

Приведите все к какой-то одной кодировке.

Теперь о том, почему так странно отображается письмо.

Основная проблема в неверном заголовке Content-Type пропущена точка с запятой после text/plain.

Также стоит заменить строчку с From на


$headers .= "From: =?$charset?B?".base64_encode($_POST['posName'])."?= <".$_POST['posEmail'].">\r\n";

И добавить еще парочку


$headers .= "Content-Transfer-Encoding: 8bit\n";
$subject = "=?$charset?B?". base64_encode($subject).'?=';
Ben_Laden
На сайте с 26.03.2011
Offline
92
#2

Строчку заменил, а также добавил новые.

Основная проблема в неверном заголовке Content-Type пропущена точка с запятой после text/plain.

Вот точка с запятой, так и не понял о чем Вы, вроде же везде все есть...?

Общем Gmail воспринимает все по прежнему...

J
На сайте с 20.02.2014
Offline
120
jkm
#3

Речь шла о:


$headers .= "Content-Type: $content charset=$charset\r\n";

В config объявлено $content = "text/plain";

Т.е. нужно исправить на:


$headers .= "Content-Type: $content; charset=\"$charset\"\r\n";

Немного о почтовых заголовках http://habrahabr.ru/post/17531/

Ben_Laden
На сайте с 26.03.2011
Offline
92
#4

Теперь стало все так как должно быть!

Спасибо Большое, помогли! :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий