Ticket #954 (closed defeito: fixed)
Problemas no envio de mensagens com tamanho dos anexos entre 10 e 20 mb.
Reported by: | diogenesduarte | Owned by: | diogenesduarte |
---|---|---|---|
Priority: | média | Milestone: | Expresso 2.1 |
Component: | ExpressoMail | Version: | trunk |
Severity: | Keywords: | ||
Cc: | WorkGroup: |
Description
Ao enviar mensagens com tamanho um pouco maior que 10 mb o expresso informa que o tamanho da mensagem é superior a 20 mb(configuração padrão do expresso para tamanho máximo de mensagens) e o envio não é feito. Se a mensagem tiver entre 15 mb e 20 mb, um erro ocorre porém não é apresentado, a tela fica parada e o e-mail não é enviado. A partir daí ocorrem alguns erros de script e para utilizar o expresso normalmente é necessário atualizar a página.
Change History
comment:2 Changed 14 years ago by diogenesduarte
Acho que cabe uma discussão aqui sobre esse problema, que eu dividiria em dois.
Primeiro que o expresso utiliza a diretiva do php upload_max_filesize para determinar o tamanho máximo dos anexos, quando existe também uma diretiva do postfix chamada message_size_limit que delimita o tamanho máximo da mensagem e por padrão seu valor é 10 MB. Isso faz com que mensagens maiores que 10 MB gerem erro no envio, e a mensagem do expresso como leva em conta a diretiva do php, apresenta o erro de forma errada. Acho que a melhor forma de resolver isso seria igualar o valor das duas diretivas como padrão do expresso.
Segundo, seguindo na mesma linha, quando um único anexo tem mais de 15 megas, é feito um str_replace na classe smtp(class.smtp.php linha 308) que faz com que estoure o limite de memória estipulado pela diretiva memory_limit do php. Por padrão na instalação do expresso seu valor é 96MB. Como essa exceção não é tratada, acontece um erro de script e nada funciona direito até o usuário atualizar a página. Após alguns testes encontramos o valor de 128MB como satisfatório.
Seria o caso modificar a instalação do expresso para mudar esses valores padrões na instalação? Se sim, como fazer isso?
comment:3 Changed 14 years ago by niltonneto
Se na instalação padrão do Expresso isso está ocorrendo, então podemos mudar sim, com certeza. É só alterar o arquivo php em /doc-expressolivre/debian/arqs-conf/etc/php5/apache2 e demais distros.
É importante lembrar que os anexos das mensagens, devido ao formato MIME, são enviados em base64. Costumam ser 37% maior que o tamanho original do arquivo. Ex.: Um anexo de 10Mb precisa ter no mínimo 13.7Mb de tamanho máximo (post/upload) no Expresso.