| Summary: | Неверный перенос длинных строк в headers в PHPMailer | ||
|---|---|---|---|
| Product: | Branch 5.1 | Reporter: | Василий Терешко <tolmi> |
| Component: | eGroupWare | Assignee: | Aeliya Grevnyov <gray_graff> |
| Status: | CLOSED FIXED | QA Contact: | QA 5.1 <qa-5.1> |
| Severity: | minor | ||
| Priority: | P3 | CC: | gray_graff |
| Version: | unspecified | ||
| Hardware: | all | ||
| OS: | Linux | ||
И можно потом сбэкпортить в бранчи 4.0 и 4.1 спасибо. попробую на своих пользователях и отпишусь о результатах :) |
При сохранении длинных строк заголовков писем бьются длинные строчки, содержащие нелатинские символы в точке разиения строки, чаще всего наблюдается при длинном русском Subject Предлагаю приложить следующий патч ______________________________________________ *** /usr/share/egroupware/phpgwapi/inc/class.phpmailer.inc.php.orig --- /usr/share/egroupware/phpgwapi/inc/class.phpmailer.inc.php *************** *** 1361,1367 **** */ public function HasMultiBytes($str) { if (function_exists('mb_strlen')) { ! return (strlen($str) > mb_strlen($str, $this->CharSet)); } else { // Assume no multibytes (we can't handle without mbstring functions anyway) return False; } --- 1361,1367 ---- */ public function HasMultiBytes($str) { if (function_exists('mb_strlen')) { ! return (mb_strlen($str, 'latin1') > mb_strlen($str, $this->CharSet)); } else { // Assume no multibytes (we can't handle without mbstring functions anyway) return False; } ______________________________________ после этого всё вроде как работает. Суть патча - при mb_string_overload=7 strlen и mb_strlen всегда будут возвращать одно и тоже.