From owner-freebsd-isp@FreeBSD.ORG Wed Jun 27 05:42:13 2007 Return-Path: X-Original-To: isp@freebsd.org Delivered-To: freebsd-isp@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9BCE416A400 for ; Wed, 27 Jun 2007 05:42:13 +0000 (UTC) (envelope-from gpalmer@freebsd.org) Received: from noop.in-addr.com (noop.in-addr.com [208.58.23.51]) by mx1.freebsd.org (Postfix) with ESMTP id 6F85113C484 for ; Wed, 27 Jun 2007 05:42:13 +0000 (UTC) (envelope-from gpalmer@freebsd.org) Received: from gjp by noop.in-addr.com with local (Exim 4.54 (FreeBSD)) id 1I3Q0b-000If6-Qh; Wed, 27 Jun 2007 01:24:05 -0400 Date: Wed, 27 Jun 2007 01:24:05 -0400 From: Gary Palmer To: "Michael W. Lucas" Message-ID: <20070627052405.GB1002@in-addr.com> Mail-Followup-To: "Michael W. Lucas" , isp@freebsd.org References: <20070627021432.GA73579@bewilderbeast.blackhelicopters.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070627021432.GA73579@bewilderbeast.blackhelicopters.org> Cc: isp@freebsd.org Subject: Re: Recommended IMAP server? X-BeenThere: freebsd-isp@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Internet Services Providers List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Jun 2007 05:42:13 -0000 On Tue, Jun 26, 2007 at 10:14:32PM -0400, Michael W. Lucas wrote: > Hi, > > I find myself needing to implement IMAP on FreeBSD. Any suggestions > on the "preferred" IMAP server? > > It appears that we have three "main" IMAP daemons in ports: imap-wu, > cyrus-imapd, and courier-imap. I need to pick one. My mail system > uses Sendmail+sasl2 and milter-greylist. I want to stick as close to > a "stock" FreeBSD as possible, so I'm not into reading users from LDAP > or anything like that. > > It seems that imap-wu lets you synch up to /var/mail/username, but > only that. Avoid UW IMAP. If nothing else, last I heard it wasn't 64 bit clean and there are various other well known issues with its implementation. For example, there are race conditions with concurrent access to the same folder that can lead to issues. In general I'd advise to use a daemon that has one-file-per-message format (e.g. cyrus, dovecot, etc) rather than mbox for scalability reasons (imagine trying to delete a message in the middle of a several hundred megabyte mbox "folder"). Also make sure that whatever you use builds an index of each folder so that IMAP clients can load the folder summary quickly, else you could very quickly run into performance problems if the daemon has to scan every message in a folder to gather common information (e.g. sender and subject) Also think about other issues that might affect your implementation, e.g. will you ever need to enforce quotas? This is not as innocuous a question as it seems as IMAP does not have a "move" command to move messages between folders, you have to copy the e-mail, mark the old copy of the e-mail as Deleted and then expunge it (this is normally all hidden transparently from the user by the mail client). This can play havoc with users mailboxes if you use operating system quotas to enforce mailbox sizes. Message expiration might also be a desirable feature, where you can automatically "age out" (i.e. delete) messages from certain folders after the e-mail has been in there for x days. This can be useful to keep Trash and Junk Mail/spam folders from growing out of control. Will you be offering webmail? Do you have a webmail selected already and does it work well with your IMAP server? I'm sure there are other considerations also, I'm just giving you a start here to try and help the decision process.