Ticket #600 (closed defeito: fixed)
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*".