Limits - Thunderbird
From MozillaZine Knowledge Base
(Redirected from Limits (Thunderbird))
This article describes the known limits. However, there is always the possibility of a configuration specific bug or a bug fix for a lower limit breaking in a maintenance release.
There is no known limit of the number of accounts you can have. If you run into one, it probably would be either a bug in how many accounts the folder pane can display or due to "Use Global Inbox" being checked for that account. One user is using 150 accounts with Thunderbird 24.0. 
There is no known limit on the number of address books you can have or the number of addresses in an address book. However, for large numbers of contacts at some point you should consider putting your contacts in an LDAP server instead. (One user has 30,000 addresses spread across 63 address books. . Another has 90,000 addresses in one address book and the address book has become so slow it is unusable. )
Although there might not be limits on the address book size or the notes section in a card, you may easily encounter performance problems when you reach several thousand contacts or have many large notes. The reason is that for every address book that gets used while running Thunderbird, all the contacts in that address book are loaded into memory and stay in memory. This can result in general slowness of Thunderbird, not just slow address autocomplete. (One user reports a 4,265 KB address book of several contacts, including one with a 4.2MB note. It took a long time to switch to that address book or to switch between one of the normal cards and the one with a 4.2MB note. However, it didn't seem to effect auto-completion when composing a message.)
Thunderbird doesn't appear to impose any limit on the number of attachments or the maximum size of the attachment you can send in a message. Any limits are due to your e-mail provider or SMTP server. Note that sending a binary file as a attachment increases its size by a third due to base64 encoding sending two 8-bit characters as three 7-bit ASCII characters.
Thunderbird 1.5 is incompatible with Outlook in how it stores the filenames of attachments when they exceed 64 bytes. This article provides more information and a workaround.
Thunderbird disables cookies by default, but they can be useful for RSS and the Webmail and ThunderBrowse extensions. You can copy and reuse the cookies.txt file from your Firefox profile. Firefox defaults to a limit of 50 cookies per site and 1000 total, which you can change using network.cookie.maxPerHost and network.cookie.maxNumber . Since Thunderbird doesn't support those preferences the limit appears to be the default value in Firefox.
There is a limit of 50 custom headers (they are defined using the "customize..." option at the bottom of the leftmost list box in searches and message filters, or by editing mailnews.customHeaders using the config editor) . 
There appears to be a limit of approximately 60 addresses when sending messages if you enter each address separately. However, if you use lists (mail distribution lists) for most of the addresses any limit is imposed by whatever SMTP server you use.
You can receive messages sent to multiple addresses in the same mailbox. Any limitations would be due to your e-mail provider.
A file descriptor/file handle is a data structure used to access a file via operating system functions. Supposedly there is a hard coded limit in Thunderbird of 256 file descriptors under Solaris. On Linux, the OS limit of open files is around 1024 by default. For folders backed by mbox storage, opening a folder means opening the file containing the message data. If you open too many different folders you'll run into that limit, even if you closed most of the folders (there is a cache keeping old folders open for a while). Once the limit is reached, this may cause a "Unable to load address book" or a "Unable to open summary file error" messages. 
Folders and messages
The number of messages in a folder is limited to 4 billion (2^32 in a 32bit counter).
The maximum size of a single message is currently also limited to 4GB.
Folder space/size limits depend on whether you are using mbox or maildir storage format. Messages are stored by default as mbox where messages of a folder are stored in one file. A folder needs to be periodically compacted to remove deleted messages and reduce the size of the folder file.
You are also limited by the amount of free space available on the disk where your mail files are stored. By default the files are stored in a Thunderbird profile on your PC. They can be somewhere else if you have moved the location of your OS's "user data", used the Profile Manager to put the profile elsewhere, or stored mail folders outside of the Thunderbird profile - which can even be a file share on a different computer.
Prior to version 3.1, the maximum folder size is 4GB or as limited by your file system. This is the same as the maximum file size under FAT32. NTFS (Windows), ext3, ext4 and ReiserFS (Linux), and HFS Plus (OS X) support much larger file sizes, and a "All Mail" folder in a Gmail IMAP account is contains a copy of all messages in the mailbox (which could exceed 10GB) so eventually the limits were changed. Thunderbird 3.1 added a a 64-bit offset to the .msf file allowing imap folders larger than 4GB, if the file system permitted large files  . This change did not help non-imap folders, for example those in Local Folders, including any offline storage (Tools -> Account Settings -> Synchronization & Storage ->Message Synchronizing) for remote folders. Offline storage uses mbox files, just like POP accounts and the Local Folders pseudo account.
The 4GB limit was finally removed starting with Thunderbird 51. Folders are allowed to grow beyond 4GB by default on current systems. 
On filesystems that do not support files larger than 4GB (e.g. FAT32) or for performance reasons you may wish to set the preference mailnews.allowMboxOver4GB to false so that TB knows to not cross the 4GB limit per folder. At an attempt of that, it will responds with a "folder is full" error message.
(Not finished/Not recommended for use) Thunderbird 12 added a pluggable storage API which the maildir storage format (and the current Berkeley mbox). Maildir stores each message as an individual files, i.e. does not combine messages into a single file, and thus bypasses the 4GB folder size as well as eliminates any need to compact a folder. The maildir support, also called maildir-lite in Thunderbird, is very similar to, but not meant to be 100% compatible with, the maildir spec. It was hoped that maildir would be enabled by default in Thunderbird 24.0 (Fall 2013) but it is still too buggy for normal use.  . Maildir also needs a rebuild index mechanism since power uses may fiddle with the contents of the maildir folder from the command line or a file manager. But the maildir support is improving. With Thunderbird 52 it is now possible to choose using maildir via the account manager UI when creating a new account.
The support for folders larger than 4GB appears to be broken in recent versions (such as 16.0.2). . There has been a lot of confusion over how wide spread the problem is, and there are no tests for it in the Moztrap test case management software (it replaced Litmus, which didn't test it either). There has also been confusion due to a bug (now fixed) that caused repeated downloading of messages for a offline folder in a IMAP account due to changes in how Thunderbird determined the real message size. 
There are old bug reports for some versions before 12.0 (mainly for OSX and some BSD systems) were the maximum folder size was accidentally lowered to 2GB. There were also some scenarios where Thunderbird didn't check that adding a message would exceed the maximum folder size before it added it. Normally whether or not a folder is corrupted has no effect on the maximum size of the mbox file. However, in a very few cases the corruption caused Thunderbird to ignore the maximum folder size, once reaching 35GB .
Most of these problems should be fixed with Thunderbird 52.
There is a known problem that for maildir backed folders, the size of a non-empty folder in the Thunderbird interface is reported as 0 or some other low value. This does not mean the folder was corrupted or messages are lost. It just means maildir does not yet report its size properly. 
Compacting a folder larger than 4GB may be a bit slow on slower disks or network shares.
Desktop search programs such as Google Desktop, Copernic or X1 may not be able to index the contents of a 4GB folder. X1 supposedly runs into problems at 1GB.
The depth of the folder hierarchy is limited by the string length of the path to last folder's header. That can't exceed the operating system's maximum path length (usually at least 255 characters). But the OS length is not the same as what you see in the Thunderbird folder pane. The OS length includes the path to the parent folder in the profile (which might be over 100 characters), and five additional characters (back slash plus .sbd) for each child folder. If you hit this limit you can display more folders by moving the profile or the accounts directory closer to the root directory of the drive, so that less of the total path length is wasted. There is additional overhead if any of the folders have non-ASCII characters. For example, if it is an IMAP account the server would send the string as modified UTF-7, which more than doubles the number of characters.
Bug 249807 prevents Thunderbird from displaying a child folder if the total length of the child folder's relative path exceeds 128 bytes. The relative path is the distance from the top (root) of the profile directory (not the total path length).
With local folders (POP accounts) you normally can't create a folder hierarchy that you can't fully use. However, that's not true for IMAP accounts since you can create it using webmail, and then not be able to download all of the headers due to it exceeding the maximum path length. This limit doesn't apply to a Subscribe window in a IMAP account since it just lists what folders exist on the mail server (it is not downloading headers).
The maximum number of tokens used by the junk mail controls defaults to 300,000. That is set in mailnews.bayesian_spam_filter.junk_maxtokens. "When the number of stored anti-junk tokens hits a predefined limit, then tokens are pruned in such a way that effectively reduces the influence of old tokens by 1/2 relative to new tokens, and eliminates rarely used tokens." 
If you use View -> Sort by -> Threaded and select more than 500 messages it will not list more than 500 conversations in the message pane. If you reach that limit you should see something like These messages take up: 14.4 MB. (Note: 1287 messages are selected, the first 500 are shown) if you scroll to the bottom of the message pane.
There is no known limit to the number of message filters. It has been tested that even 10,000 filters can be managed properly in the Filter list dialog. However, message filters have a limit of 50 custom headers.
Number of recent folders
The list of recent folders when moving a message via Message -> Move To -> Recent is hard coded to a maximum of 15. The same limit is used for Message -> Copy To -> Recent. 
Number of connections
The advanced server settings for a IMAP account specify the maximum number of server connections to cache. It appears to impose a limit of 1000. However most email providers impose a limit for the maximum number of connections from a specific IP address, and the maximum number of connections to a account/mailbox regardless of what devices are used. For example, Gmail imposes a limit of 15 connections per account  .
If you have several PC's making a connection to the Internet through a router that supports NAT they might all use the same TCP-IP address. Courier IMAP servers default to 4 connections per TCP-IP address. See IMAP:_advanced_account_configuration for more information.
Open .msf files
Thunderbird loads the contents of the corresponding *.msf file into memory whenever it opens a folder. Starting with Thunderbird 15 there are default settings (mail.db.idle_limit and mail.db.max_open) to limit how many of those files it will keep open, and for how long. This can have a big effect on memory usage if you have tens of thousands of messages in a folder. Its not clear if there is any limit on how many of these files can be open at the same time. One user had 226 *.msf files open. 
However, the number of open folders is limited by the operating system via the number of allowed file descriptors (see the section above). If you get a error message like "Unable to load address book file abook.mab. It may be read-only, or locked by another application. Please try again later." and you are running a 32-bit version of Windows you might have run into a limit on the number of open file handles that the operating system supports, caused by having lots of mail folders. Thunderbird opens the *.msf file for every mail folder.  
Quick search (Ctrl+Shift+F) and the Quick Filter bar don't appear to have any limits. Any limits for "Search the web" (OpenSearch) would be imposed by the search provider.
There is no known limit on the number of SMTP servers you can have. Unlike accounts, Thunderbird doesn't appear to test whether the additional SMTP server would be a duplicate.
Windows and tabs
The limits on the number of windows and tabs are not clear. There are what appear to be limits of eight compose message windows, ten content tabs, and ten web search tabs. However, you can create several dozen compose message windows. The limit of eight compose message windows occurs if you select several messages and then press Ctrl+R to reply to them.   
Limitations of Microsoft Windows
In some cases, Windows users may run into a hard limit placed on the maximum amount of characters any path can be. Symptoms may include, but aren't limited to, disappearing mail folders. The limit is usually a length of 260 characters unless an application supports UNICODE paths. Thunderbird doesn't appear to support UNICODE paths. 
In all the sections above the phrase "no known limit" means there is no practical limit on the number of objects. Technically, there is usually an internal limit of 2 or 4 billion (2^31 or 2^32) due to the C++ representation of a counter or an index into the list of the objects. But users will run into issues (performance and/or display) much sooner before approaching this architectural limit.