Bug 23218

Summary: Неверный перенос длинных строк в headers в PHPMailer
Product: Branch 5.1 Reporter: Василий Терешко <tolmi>
Component: eGroupWareAssignee: 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   

Description Василий Терешко 2010-03-23 23:54:22 MSK
При сохранении длинных строк заголовков писем бьются длинные строчки, содержащие нелатинские символы в точке разиения строки, чаще всего наблюдается при длинном русском 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 всегда будут возвращать одно и тоже.
Comment 1 Василий Терешко 2010-03-23 23:57:16 MSK
И можно потом сбэкпортить в бранчи 4.0 и 4.1
Comment 2 Aeliya Grevnyov 2010-03-27 07:57:56 MSK
спасибо. 
попробую на своих пользователях и отпишусь о результатах :)
Comment 3 Repository Robot 2010-07-24 02:59:45 MSD
eGroupWare-1:1.6-alt8 -> sisyphus:

* Sat Jul 24 2010 Aeliya Grevnyov <gray_graff@altlinux> 1:1.6-alt8
- Added patch class.phpmailer.inc.php.patch (ALT #23218)