Здравствуйте!
Есть drupal 6,9
установлен модуль smtp и phpmailer соответственно
последние используются для отправки сообщений сайта на почту пользователей через аккаунт на gmail
Есть следующие проблемы:
1 пользователи почтовых аккаунтов на сервере gmail получают письма в непонятном виде
например ПоздÑ
При этом пользователи остальных серверов получают тело псьма в нормальном виде
то есть как разбираться с кодировкой?
2 пользователи всех почтовых серверов получают письма тема которого указываатся тоже в непонятном виде например
в =?UTF-8?B?W3JhYmNoZXZza3kubmFtZV0g0YLQuNC/INGB0L7QtNC10YDQtg==
Пожалуйста подскажите как и откуда копать?
Комментарии
mbstring есть на сервере?
у меня в отчете статуса PHP http://mysite/admin/reports/status/php написано следующее
PHP Version 5.2.8
Configure Command './configure' '--disable-cgi' '--enable-bcmath' '--enable-calendar' '--enable-exif' '--enable-ftp' '--enable-gd-native-ttf' '--enable-libxml' '--enable-magic-quotes' '--enable-mbstring' '--enable-pdo=shared' '--enable-sockets' '--enable-zend-multibyte' '--enable-zip' '--prefix=/usr/local' '--with-apxs2=/usr/local/apache/bin/apxs' '--with-bz2' '--with-curl=/opt/curlssl/' '--with-curlwrappers' '--with-freetype-dir=/usr' '--with-gd' '--with-gettext' '--with-imap=/opt/php_with_imap_client/' '--with-imap-ssl=/usr' '--with-jpeg-dir=/usr' '--with-kerberos' '--with-libexpat-dir=/usr' '--with-libxml-dir=/opt/xml2/' '--with-mcrypt=/opt/libmcrypt/' '--with-mhash=/opt/mhash/' '--with-mime-magic' '--with-mysql=/usr' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with-mysqli=/usr/bin/mysql_config' '--with-openssl=/usr' '--with-openssl-dir=/usr' '--with-pdo-mysql=shared' '--with-pdo-sqlite=shared' '--with-png-dir=/usr' '--with-sqlite=shared' '--with-ttf' '--with-xmlrpc' '--with-xpm-dir=/usr' '--with-xsl=/opt/xslt/' '--with-zlib' '--with-zlib-dir=/usr'
это единственное, что я нашел у себя относительно mbstring, повидимому есть
Сделайте файл phpinfo.php с содержанием
phpinfo();
?>
положите в корень сайта, вызовите в броузере: http://site.dom/phpinfo.php и посмотрите в нём включенные PHP_модули
mbstring
Поищите iconv в phpinfo.php
iconv
Каков диагноз?
Вы какие-либо файлы редактировали вручную? Где и что меняли?
Советую обратиться к: http://ru.php.net/manual/ru/function.iconv.php
И поискать в ваших модулях строки перекодировки
ядро и доп модули не менял.
особенность в том, что письма пользователям gmail в неверной кодировке приходят не всегда, иногда приходят в нормальной кодировке но с проблемой №2
спасибо за подсказку,
веротяно модуль subscriptions в некоторых случаях перекодирует неверно, ведь именно он формирует тело письма
непонятно почему страдают лишь пользователи gmail и при этом невсегда?
была такая же проблемма.
помогла переустановка phpmailer с версии 2.3
на версию 2.2.1
скачать можно здесь http://sourceforge.net/project/showfiles.php?group_id=26031&package_id=2...
ЗЫ: первый раз кому-то помог ;))))
Вы бы помогли, если бы указали причину такого глюка с ДжиМейл
мне он действительно помог!
понятно, ды?
я не самый бесполезный на земле человек :Е
кому-то могу помочь :Е
:Е :Е :Е :Е
надо сказать что у питона это было и с яндексом!
Вы действительно помогли.. Огромная благодарность! Респект!
А у меня, что с phpmail, что без него, письма приходят в ISO-8859-1 кодировке. Сначала модуль print напрямую слал. В поле от и в теле письма были кракозяки. Думал сервант тупит. Поставил phpmail, настроил отправку через Gmail. Единственное, что изменилось это человеческое поле от. Тело письма по-прежнему в ISO-8859-1. С других модулей приходит на ура. Читал багтрэкер на орге: чувак тоже подобный вопрос задавал. Разработчитца невозмутима, как обои. Говорит, мол, я в Португалии и у меня нормально, а у тебя то че? Говорит, что у нее все в utf-8 и все.
Может кто знает как решить этот трабл?
К стати. phpinfoвот чего выдало в разделе mbstring
Directive Local Value Master Value
.......
mbstring.internal_encoding ISO-8859-1 no value
......
Остальные строки убрал. Iconv аналогичен приведенному выше. Не это ли причина письма с кракозякушками?
Стэн, вижу вы понимаете в этих делах. Посмотрите пожалуйста мои предыдущие сообщения.
Я уже на другой хостинг тестовый период взял попробовать. Там как раз mbstring.internal_encoding no value no value
и письма приходят корректно. Полагаю параметр ISO-8859-1 и делает такой кодировку в письмах из модуля print.
К стати, создал запрос по теме, но с решением туго. Хостеры пока тоже руками разводят.
Проблема не в хостере, а в настройках по умолчанию класса PHPMailer подключаемой библиотеки PHPMailer в файле class.phpmailer.php, будь то модуль mimemail или модуль PHPMailer !
class PHPMailer {
/////////////////////////////////////////////////
// PROPERTIES, PUBLIC
/////////////////////////////////////////////////
/**
* Email priority (1 = High, 3 = Normal, 5 = low).
* @var int
*/
public $Priority = 3;
/**
* Sets the CharSet of the message.
* @var string
*/
public $CharSet = 'iso-8859-1';