Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: php mail требуется помощь клуба  (Прочитано 13758 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« : 25-03-2010 09:41 » 

Мозги кипят
Код:
// $headers .= 'Content-Type: text/plain' . iif($encoding, "; charset=\"$encoding\"") . $delimiter;
// $headers .= 'Content-Type: text/plain' . iif($encoding, ";charset=$encoding") . $delimiter;
Первая строка - от авторов
Вторая строка моя
закоментировал, чтобы не попадала в заголовок письма
смотрю заголовки письма
имею
Content-Type: text/plain; charset=UTF-8

Бред....
Код:
// $subject = $this->encode_email_header(unhtmlspecialchars($subject, $unicode_decode), $encoding, false, false);
//***Дабавлена строка для теста кодировки не разбираясь в кодировке
// $subject = '=?koi8-r?B?'.base64_encode(convert_cyr_string($subject, "w","k")).'?=';
Первая строка - от авторов
Вторая строка моя

зы iif просто функция - if в короткой нотации

имею
Subject: =?UTF-8?B?w4jDrcO0w67DsMOsw6DDtsOow78gw64gw6I=?=

На вход поступают в кодировке windows-1251


Кто эту хрень вставляет?
« Последнее редактирование: 25-03-2010 09:51 от Sla » Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
baldr
Команда клуба

cy
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #1 : 25-03-2010 10:18 » 

У PHP какой default_charset?
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 25-03-2010 10:40 » 

вот
phpinfo
https://h34.hvosting.ua
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 25-03-2010 10:42 » 

вот
Код:
<?php
$headers 
= &#39;Cc: Slava <РЕАЛЬНЫЙ АДРЕС>&#39;."\r\n";
    
$headers .= &#39;Content-Type: text/plain;charset=windows-1251&#39;."\r\n";
    
$headers .= &#39;Content-Transfer-Encoding: 8bit&#39;."\r\n";
    
$subject = &#39;=?koi8-r?B?&#39;.base64_encode(convert_cyr_string("Новый заказ", "w","k")).&#39;?=&#39;;
$msg ="это тест заказа";
    
$ok mail("РЕАЛЬНЫЙ АДРЕС",$subject,$msg,$headers);
echo "ok=$ok";
?>

Этот код выдернут из рабочего проекта все письма читаются

А на этом хостинге хрень с кодировками
Где-то, кто-то еще стоит и перекодирует
« Последнее редактирование: 25-03-2010 10:45 от Sla » Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 25-03-2010 10:47 » 

Слав, вот это вызывает сомнение: "$this->encode_email_header"
Думаю, что рыть надо в том направлении.

Кстати, почему хочешь слать в KOI8-R, а не в UTF-8?

Хотелось бы увидеть содержимое переменной "$encoding".

имею
Subject: =?UTF-8?B?w4jDrcO0w67DsMOsw6DDtsOow78gw64gw6I=?=

Где это видишь?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
baldr
Команда клуба

cy
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #5 : 25-03-2010 10:51 » 

для определенности поставь, например default_charset:
Код: (PHP)
ini_set("default_charset", "WINDOWS-1251")

Для отправки используется sendmail.. У него есть какие-то дефолтные настройки кодировки?
А можете приаттачить письмо со всеми заголовками? Очень интересует также значение Content-Transfer-Encoding
Такое ощущение, что твой subject он еще раз сам кодирует, уже в utf-8
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 25-03-2010 11:02 » 

Слав, вот это вызывает сомнение: "$this->encode_email_header"
Думаю, что рыть надо в том направлении.
Не, тут все нормально

Цитата
Кстати, почему хочешь слать в KOI8-R, а не в UTF-8?

Хотелось бы увидеть содержимое переменной "$encoding".
charset=$encoding ='windows-1251';
Цитата
имею
Subject: =?UTF-8?B?w4jDrcO0w67DsMOsw6DDtsOow78gw64gw6I=?=

Где это видишь?

В заголовках письма
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 25-03-2010 11:09 » 

ini_set("default_charset", "WINDOWS-1251")

а причем здесь функция mail?

мне не нужно отправлять content type
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 25-03-2010 11:19 » 

кстати
зашел по ssh
отправляю письмо

mail <me> -s тест
Тестовое сообщение
сс <me2>


вот заголовки
Код:
From XXXXXXXXXXX Thu Mar 25 11:48:29 2010
Return-path: <XXXXXXXXXXXXXXXX>
Received: from [XXX.XXX.40.34] (port=54790 helo=XXXXXXXXX)
by mx86.mail.ru with esmtp
id 1Nuijs-0009EJ-00
for XXXXXXXXXXX; Thu, 25 Mar 2010 11:48:28 +0300
Received-SPF: none (mx86.mail.ru: 91.200.40.34 is neither permitted nor denied by domain of XXXXXXXXXXXX) client-ip=XXX.XXX.40.34; envelope-from=XXXXXXXXXXXX; helo=XXXXXXXXXXX;
X-Mru-BL: 0:0:0
X-Mru-PTR: XXXXXXXXXXx
X-Mru-NR: 1
X-Mru-OF: Linux (ethernet/modem)
X-Mru-RC: UA
Received: by XXXXXXXXXXXX (Postfix, from userid 1923)
id AC5071A8C1; Thu, 25 Mar 2010 10:48:29 +0200 (EET)
To: XXXXXXXXXXXXx
Subject: ФЕУФ
Cc: XXXXXXXXXXXXXXXX
Message-Id: <20100325084829.AC5071A8C1@XXXXXXXXXX>
Date: Thu, 25 Mar 2010 10:48:29 +0200 (EET)
From: XXXXXXXXXXXXX (XXXXXX)
X-Spam: Not detected
X-Mras: Ok
[code]
[/code]
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
baldr
Команда клуба

cy
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #9 : 25-03-2010 11:25 » 

Ну так и не кодируй ничего тогда. Просто $subject="Тема письма";
Или же копай настройки sendmail.
Твой "ФЕУФ" - это "windows-1251", перекодированная в "koi8-r"
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 25-03-2010 11:31 » 

c ФУЕФ все понятно, отправил человека с проблемой к хостеру - пусть обїясняют...
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 25-03-2010 12:58 » 

мда, а ларчик открылся....

php.ini

mbstring.func_overload = 7
поставили 6
1 - отвечает за перегрузку mail() ->     mb_send_mail()

Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 25-03-2010 13:07 » 

Кодировать надо обязательно. Иначе почта будет в спам валиться или возвращаться как невалидная. Особенно gmail.com любит все по стандартам.

Интересный аспект. Надо запомнить Улыбаюсь

Кстати, в этом году ожидается релиз PHP 6, где юникод будет в базе.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #13 : 25-03-2010 13:12 » 

как гора с плеч свалилась
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #14 : 25-03-2010 13:16 » 

Каверзный и подлый вопрос (в условиях "гора с плеч"): а для чего это делалось — не вылезет ли в другом месте?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #15 : 25-03-2010 13:17 » 

будем посмотреть

а делалось? не знаю кем

может изначально так стояло, может после перекодировки форума так поставили - не знаю

знаю одно

1 отвечает только за mail
« Последнее редактирование: 25-03-2010 13:19 от Sla » Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines