Темы писем уризаются и не разкодируются

B
На сайте с 23.01.2009
Offline
37
1183

Надеюсь на помощь. не знаю с чем она связана с настройками сервера или кодом пхп. Перенес вордпресный сайт на свой сервер и вдруг тема во всех письмах стала отображаться в форматом =?UTF-8?B?0KHRgdGL0LvQutCwINC90LAg0LLQsNGI=

Единственное до чего пока додумался - это что функция раскадровки может не сработать из-за того, что сама тема письма не полностью передается. Может появились какие-то ограничения на длину темы. При раскадровке дает "Ссылка на ваш���". Как можно эти ограничения убрать?

В пхп я вообще не кодирую инфу перед отправкой.

$subject = 'Ссылка на ваш';

$message = 'Ссылка на Ваше Успехов';

wp_mail($_POST['pomni'],$subject,$message);

N
На сайте с 06.05.2007
Offline
419
#1

Что ж вы не написали какая была ОС на старом и новом серверах ? Посмотрите вывод функции php phpinfo на старом и новом.

С точки зрения метода тыка, я предполагаю вмешательство suhosin. Там есть настройки, например, suhosin.mail.protect

Кнопка вызова админа ()
B
На сайте с 23.01.2009
Offline
37
#2

netwind, не знаю что было на старом тут Debian

напротив suhosin.mail.protect тут написано 0 и 0

N
На сайте с 06.05.2007
Offline
419
#3

baltik, значит это было плохое предположение. но почему вы не показываете phpinfo ?

тогда второй совет методом тыка - удалите пакет php5-suhosin.

Полностью вытравить suhosin из debian можно только сменив руководство проекта debian. Там две части сухосина - патч, который накладывают не зависимо от вашего желания на все виды пакетов php и модуль, который предоставляет пакет php5-suhosin с дополнительными проверками.

B
На сайте с 23.01.2009
Offline
37
#4

вот вся инфа о suhosin

Directive Local Value Master Value

suhosin.apc_bug_workaround Off Off

suhosin.cookie.checkraddr 0 0

suhosin.cookie.cryptdocroot On On

suhosin.cookie.cryptkey [ protected ] [ protected ]

suhosin.cookie.cryptlist no value no value

suhosin.cookie.cryptraddr 0 0

suhosin.cookie.cryptua On On

suhosin.cookie.disallow_nul 1 1

suhosin.cookie.disallow_ws 1 1

suhosin.cookie.encrypt Off Off

suhosin.cookie.max_array_depth 50 50

suhosin.cookie.max_array_index_length 64 64

suhosin.cookie.max_name_length 64 64

suhosin.cookie.max_totalname_length 256 256

suhosin.cookie.max_value_length 10000 10000

suhosin.cookie.max_vars 100 100

suhosin.cookie.plainlist no value no value

suhosin.coredump Off Off

suhosin.disable.display_errors Off Off

suhosin.executor.allow_symlink Off Off

suhosin.executor.disable_emodifier Off Off

suhosin.executor.disable_eval Off Off

suhosin.executor.eval.blacklist no value no value

suhosin.executor.eval.whitelist no value no value

suhosin.executor.func.blacklist no value no value

suhosin.executor.func.whitelist no value no value

suhosin.executor.include.allow_writable_files On On

suhosin.executor.include.blacklist no value no value

suhosin.executor.include.max_traversal 0 0

suhosin.executor.include.whitelist no value no value

suhosin.executor.max_depth 0 0

suhosin.filter.action no value no value

suhosin.get.disallow_nul 1 1

suhosin.get.disallow_ws 0 0

suhosin.get.max_array_depth 50 50

suhosin.get.max_array_index_length 64 64

suhosin.get.max_name_length 64 64

suhosin.get.max_totalname_length 256 256

suhosin.get.max_value_length 512 512

suhosin.get.max_vars 100 100

suhosin.log.file 0 0

suhosin.log.file.name no value no value

suhosin.log.phpscript 0 0

suhosin.log.phpscript.is_safe Off Off

suhosin.log.phpscript.name no value no value

suhosin.log.sapi 0 0

suhosin.log.script 0 0

suhosin.log.script.name no value no value

suhosin.log.syslog no value no value

suhosin.log.syslog.facility no value no value

suhosin.log.syslog.priority no value no value

suhosin.log.use-x-forwarded-for Off Off

suhosin.mail.protect 0 0

suhosin.memory_limit 0 0

suhosin.mt_srand.ignore On On

suhosin.multiheader Off Off

suhosin.perdir 0 0

suhosin.post.disallow_nul 1 1

suhosin.post.disallow_ws 0 0

suhosin.post.max_array_depth 50 50

suhosin.post.max_array_index_length 64 64

suhosin.post.max_name_length 64 64

suhosin.post.max_totalname_length 256 256

suhosin.post.max_value_length 1000000 1000000

suhosin.post.max_vars 1000 1000

suhosin.protectkey On On

suhosin.request.disallow_nul 1 1

suhosin.request.disallow_ws 0 0

suhosin.request.max_array_depth 50 50

suhosin.request.max_array_index_length 64 64

suhosin.request.max_totalname_length 256 256

suhosin.request.max_value_length 1000000 1000000

suhosin.request.max_varname_length 64 64

suhosin.request.max_vars 1000 1000

suhosin.server.encode On On

suhosin.server.strip On On

suhosin.session.checkraddr 0 0

suhosin.session.cryptdocroot On On

suhosin.session.cryptkey [ protected ] [ protected ]

suhosin.session.cryptraddr 0 0

suhosin.session.cryptua Off Off

suhosin.session.encrypt On On

suhosin.session.max_id_length 128 128

suhosin.simulation Off Off

suhosin.sql.bailout_on_error Off Off

suhosin.sql.comment 0 0

suhosin.sql.multiselect 0 0

suhosin.sql.opencomment 0 0

suhosin.sql.union 0 0

suhosin.sql.user_postfix no value no value

suhosin.sql.user_prefix no value no value

suhosin.srand.ignore On On

suhosin.stealth On On

suhosin.upload.disallow_binary 0 0

suhosin.upload.disallow_elf 1 1

suhosin.upload.max_uploads 25 25

suhosin.upload.remove_binary 0 0

suhosin.upload.verification_script no value no value

N
На сайте с 06.05.2007
Offline
419
#5

baltik, все понял. думать вы не хотите. попробуем общение в другом формате :

apt-get remove php5-suhosin

B
На сайте с 23.01.2009
Offline
37
#6

как раз от того что думаю и не хочу отключать полностью suhosin. Ведь помимо того-что он выдает кривые темы в почте он также защищает сервер от небезопасного кода. Или я ошибаюсь? Могу в личку дать ссылку на полный phpinfo

через ISP отключил suhosin, ситуация с почтой не изменилась

N
На сайте с 06.05.2007
Offline
419
#7

Ну нет - значит нет.

baltik:
В пхп я вообще не кодирую инфу перед отправкой.

Это, кстати, зря. Попробуйте аккуратно закодировать. Ни одного не ascii-символа быть там не должно. Может только вместе с suhosin patch это имеет значение.

Если есть обрезка заголовков, то она должна выполняться движком до перекодировки в utf8 чтобы не попасть на границу буквы, представленной несколькими байтами.

Выгоднее разобраться что не так с заголовками, потому что suhosin вы из дебиана на выведите никогда. Он к вам еще вернется не на этом сервере, так на другом.

M
На сайте с 16.09.2009
Offline
278
#8
netwind:
Это, кстати, зря. Попробуйте аккуратно закодировать. Ни одного не ascii-символа быть там не должно. Может только вместе с suhosin patch это имеет значение.

Это всегда имеет значение. Иначе буратины, не уважающие стандарты - будут получать все то, что причитается буратинам.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
B
На сайте с 23.01.2009
Offline
37
#9

всю ночь просидел с тестами. Нашел на хабре пример

***

mail("=?utf-8?B?".base64_encode($to_name)."?= <$to_mail>",

"=?utf-8?B?".base64_encode($topic)."?=",

chunk_split(base64_encode($message)),

"From: =?utf-8?B?".base64_encode($from_name)."?= <$from_mail>\n

Content-Type: text/html; charset=utf-8\n

Content-Transfer-Encoding: base64\n

Content-Disposition: inline\nMIME-Version: 1.0");

****

заменил на свои переменные и тема письма всё также ерундой приходит. Точнее в разных почтовых клиентах по разному. Но понятно, что русская фраза рубится на части и получается кракозябра по середине фразы.

тестил и вордрессовский функцию рассылки. Там достаточно грамотно прописан случай с утф-8. без резульатно.

Выглядит всё так, что проблема именно в настройке сервера.

Andreyka
На сайте с 19.02.2005
Offline
822
#10

Ну смените mta

Не стоит плодить сущности без необходимости

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