Ticket #600 (closed defeito: fixed)

Opened 11 years ago

Last modified 11 years ago

Problema na leitura do corpo de mensagens quando 'mbstring.func_overload < 4' no php.ini

Reported by: niltonneto Owned by: niltonneto
Priority: grave Milestone: Expresso 2.0
Component: ExpressoMail Version: trunk
Severity: Keywords: parser mbstring multi byte func_overload
Cc: WorkGroup:

Description

Problema: O parser efetuado na leitura do conteúdo das mensagens (body), na classe imap_functions, utiliza várias chamadas de funções "ereg*". Se no php.ini a diretiva "mbstring.func_overload" está setada com valor inferior a 4 (em muitos casos está zero e não é permitido mexer no php.ini), todas as funções "ereg*" não são sobrescritas pelas funções mbstring (suporte multibyte), ocasionado problema na leitura do corpo de mensagens que contenham caracteres multi-byte. Essa diretiva também não permite ser alterada em tempo de execução do script PHP com "ini_set", muito menos configurar o ".htaccess" da aplicação.
Solução: substituir funções "ereg*" usada no parser do "body" do email pelas funções "mb_ereg*".

Change History

comment:1 Changed 11 years ago by niltonneto

  • Status changed from new to assigned

comment:2 Changed 11 years ago by niltonneto

  • Status changed from assigned to closed
  • Resolution set to fixed

Corrigido em [1233], mas é importante frizar que essa solução não é a ideal. Um dia, quando todos "falarem" UNICODE, essa alteração poderá ser revertida para melhorar a performance do parser.

comment:3 Changed 11 years ago by niltonneto

  • Milestone changed from Expresso Mail 1.235 to Expresso 2.0
Note: See TracTickets for help on using tickets.