I came across a problem today with Mozilla Thunderbird (though not necessarily isolated to this client) and the POP mail server. It came about because a user has been out of the office and not pop’ing his mail to the desktop. The server had accumulated 100MB of email over this time.

The problem

Thunderbird has a default pop timeout of 45 seconds. In that 45s, the client must authenticate, the server must create a lock file, and copy over the mail spool into a temporary file, before Thunderbird can begin downloading the mail. If the server cannot copy the 100MB mail file into a temporary file within the 45second limit the timeout message occurs.

The solution

The solution is logical, but inconvenient to implement. Microsoft Outlook has a nice ‘server timeout’ setting in preferences, but Thunderbird’s is buried in a javascript file in the user’s profile (prefs.js). Editing that file and appending

user_pref(“mail.pop3_response_timeout”, 300);

to the end will increase the timeout to 300 seconds. After relaunching, Thunderbird can successfully download mail without the poplock busy error.