Horde and attachments > 1 MB

A few users have reported that attachments will fail with webmail. When I tried it myself, I discovered that any attachment greater than 1 MB will fail with:

DB Error: unknown error
It takes a filesize of ~950 KB or less before it will succeed, which leads me to think Horde temporarily stores attachments in a database, and is therefore constrained by the MySQL packet size. Can the filesystem be used instead? It is misleading to have Horde say the max attachment size is 128 MB (upload/post/memory limit), while in fact it is less than 1 MB.

Hi Jimp,

The fix we’ve used in the past was to edit /home/interworx/etc/my.cnf and inrease the max_allowed_packet value to something much higher, e.g.:

max_allowed_packet = 10M

And then restart InterWorx. As for making Horde use the filesystem instead of the database, I don’t remember off the top of my head if you can. I’d check the Horde docs for the authoritative answer.

Hope that helps,


I could not find a better solution (filesystem), so I increased the MySQL max packet size. I set it to 16 MB, which should cover most cases, but unfortunately Horde still says the max attachment size is 128 MB. I am sure it is just asking PHP for the max upload size, but that needs to stay high in case a customer with a moderately large size wants to restore their own backup by uploading it through SiteWorx.

Thanks for your help on this. If it is a bug, please add it to the list as “very low priority.” :slight_smile:

One question: Does anyone know why the max packet size defaults to 1 MB? Is it is potential problem to set it higher?

This can be easly changed for user, but in teh furure this shlould be by default 10mbit.

1mbit itsa poor number at this moment and lot of users dont now of this limitation. Only know when customers start complaint!

Please iworx, for the fres install otr your panel, turn this value to 10mbit by default.

And turn safe mode off on mysql bye defualt : )

This is the corret way?

socket = /home/interworx/var/run/mysql.sock
pid-file = /home/interworx/var/run/mysqld.pid
datadir = /home/interworx/var/lib/mysql
language = /home/interworx/var/share/mysql/english
port = 2306
server-id = 2306
max_connect_errors = 1024
max_allowed_packet = 10M

Please confirm

Best regards.

That is correct.