This page lists only some commonly encountered SquirrelMail bugs. You can find more information in SquirrelMail changelogs.
- When more than one user log in to their accounts using the same browser and the first user does not specifically use the "sign out" link, user preferences will become mixed (e.g., emails from the second user may appear to come from the first).
- Workaround: Make sure users always use the "sign out" link instead of just closing the browser tab/window. You can also install the [Login Check plugin].
- Plugins that worked in previous stable version can be broken due to changes in structure of function files.
- compose.php location redirect may be broken if you have your Apache server configured to listen one port that is only opened from inside network (e.g. 1999), but you listen with 443 from outside (with other software). This will make the compose.php variable $location to have something like: example.com:1999 and you cannot be redirected properly after sending email. You shouldn't use the port, but only the protocol. This is fixed in later versions. Workaround fix is to upgrade to the latest version or: $location = ereg_replace(":[0-9].+\/","/",$location);
- Calendar plugin is broken.
- a) Use the one that is available in SquirrelMail 1.4.1, or
- b) use shared_calendars plugin, or
- c) apply [patch]
- Loop in reply code
- Solution: Upgrade to 1.4.3a, which is exactly as SquirrelMail 1.4.3 but with the bug fixed.
- Newmail sounds don't work due to incorrect HTML formatting.
- German translation displays HTML entities in Addresses page.
SquirrelMail 1.4.3, 1.5.0 or later
- Translations that work in previous versions are not working even when translation files are installed and web server is restarted.
- SquirrelMail enabled use of full locale name in all ISO-8859-x based translations. Used locale name is not compatible with glibc library changes made by some Linux distributions (namely Mandrake). See [fix]
- Administrator plugin does not work with uid based authentication. Incorrect UID check. See [patch].
- Unknown function call, if the hardcoded signature size quota is exceeded. This is caused by an incomplete backport from the development branch. See [patch1] and [patch2].
- Address book can add entries only to personal address book. See [patch].
- If edit button in Address listing is selected without selecting address book entry, "Unknown error" message is produced. See [patch]
- Thai translation is not available.
- Translation was removed because it contains less than 50% translated strings and is not updated.
- SquirrelMail logs out before calling the logout hook, thus breaking some plugins. See [patch1] and [patch2].
- PHP 5.0.5+ causes fatal errors in messages with priority headers. See [1237160 tracker]
- PHP 5.0.4+ causes E_NOTICE errors in message and delivery classes. See [fix1] and [fix2].
- E_NOTICE errors in search page. See [fix]
- Selection boxes are empty in SquirrelSpell plugin on Windows servers. See [fix].
- Mailbox caching issues for deleted messages in second and later pages in paginated display mode. Possible errors when switching from paginated to non-paginated message listing mode. See SquirrelMail tracker 
- Spamcop web based reporting does not work, if reporter is not logged into Spamcop. See [#1519673 fix]
- Plain text attachments that contain long lines are rejected by mail server with 534 SMTP error because they aren't properly encoded by SquirrelMail. See tracker: .
- It's not possible to attach more than one attachment and when sending the mail no attachments are actually sent. See tracker: .
- Attachments do not persist when the address book is used to select the destination addresses 
- Development/test release
- TLS connections are broken
- INBOX folder is not accessable
- a) subscribe to INBOX
- b) disable advanced tree code and use oldway folder listing (11. Tweaks)
- c) Use 1.5.1.
- Fatal error: Cannot re-assign $this
- If you use PHP 5.0.x, use latest stable SquirrelMail version (currently 1.4.4) or 1.5.1.
- If you still can reproduce this error in latest stable version with PHP register_globals set to off, provide more details to SquirrelMail developers.
- New Mail plugin follows folder preferences and displays total number of messages.
- Mailbox caching breaks creation of special folders, if folders are not subscribed. Fixed in src/left_main.php v.1.240.
- Logins fail in IE for Mac. Used cookie format is not compatible with this browser. Browser appends semicolon to cookie path.
- Logins fail in PHP 4.4.2+ and 5.1.2+ - PHP header() function changes broke custom SquirrelMail cookie code. [1597162 tracker]
- preg_split() expects parameter 4 to be long, string given in functions/imap_messages.php, see [1543573 tracker]
- Script layout is changed. If plugins are written for older SquirrelMail code and load include/validate.php, functions/i18n.php, or functions/constants.php, code will break.
- Undefined index: imapConnection FILE: /path/to/squirrelmail/templates/default/left_main.tpl when using the default template set. This variable was pulled due to some versions of PHP causing Apache to segfault. Workaround is to use the default_advanced template set. (NOTE: this issue may be fixed more recently(?))
Specific PHP versions
PHP 4.4.0 or later + register_globals=on + SquirrelMail 1.4.5 or older
- Variable corruption in messages with attachments. See [fix].
- Broken PHP next() and prev() functions. Use PHP 4.4.0 or 4.4.x-dev snapshot. See [PHP bug report] and [patch]. Issue can be solved by enabling server side sorting in SquirrelMail (conf.pl -> 4. General Options -> 11. Allow server-side sorting) if your IMAP server supports it. Please note, that this is only quick workaround and unfixed PHP 4.4.1 setup is unreliable.
- Broken mb_encode_mimeheader() function. Japanese translation creates broken email headers. See [PHP bug report]
PHP 4.4.5 causes Apache to segfault when calling session_register on an undefined variable. There is a SquirrelMail bug [#1664155] related to this issue, but this is actually [PHP Bug #40514]. There is a workaround listed on the SquirrelMail bug.