Attachments i roundcube webmail.

Jeg har gennem længere tid brugt roundcube webmail. Den er lavet med AJAX så den har nogle fede “eye candy” effekter og den er dejlig nem og hurtig at bruge. Forleden skulle jeg for første gang prøve at sende en mail med en vedhæftet fil via roundcube, det gik ikke så godt. Der var ingen problemer med at vedhæfte filen, men da den skulle sendes kom den aldrig videre end til at vise en fin animeret cirkel, der ligesom indikerer at den arbejder, men videre kom den altså aldrig.

Så måtte jeg jo ud og spørge google hvad det var for noget, der var mange forslag til at ændre grænsen for hvor meget man må uploade og hvor meget hukommelse PHP må ligge beslag på, men alt så faktisk fint ud.

I php.ini filen kan man angive maximum værdier for 3 parametre der kan have indflydelse:

  1. memory_limit som stod til 32 MB.
  2. post_max_size som stod til 16 MB.
  3. upload_max_filesize som også stod til 16 MB.

Udover php.ini er der en .htaccess fil i roden af roundcube mappen og her kan man også sætte nogle grænser, men de stod alle til 10 MB. og jeg forsøgte kun at sende 5 MB.

Jeg tjekkede at jeg kunne sende en attachment på 5 MB med mutt, og der var ingen problemer. Jeg har heller aldrig oplevet problemer med andre mail klienter, så det måtte altså være roundcube den var gal med.

Postfix log filerne sagde intet, faktisk kunne jeg se at den aldrig nåede til at begynde at sende, da der slet ikke var nogle entries som der normalt er når man sender en mail.

Så fandt jeg nogle logfiler fra roundcube som den gemmer i kataloget logs/ i sin egen mappe. Her fandt jeg nogle fejl i logs/errors som ledte mig på rette vej. Her er et eksempel:

PHP Fatal error:  Allowed memory size of 33554432 bytes exhausted (tried to allocate 4696737 bytes) in /usr/share/roundcubemail/program/lib/Net/SMTP.php on line 831

OK, så det måtte altså være PHP der blokerede for at sende denne mail. Jeg google lidt igen på den ovennævnte log entry og jeg fandt en løsning.

Det viser sig at memory_limit værdien i php.ini som stod til 32 MB var for lidt. Hvorfor ved jeg ikke, men jeg har heller ikke gjort noget for at undersøge det. Jeg ændrede den til 64 MB og nu kunne jeg sende mails med “store” vedhæftninger.