# Looking for SMTP/IMAP/POP server recommendations



## Christopher (Mar 31, 2009)

I've been running sendmail with cyrus-sasl-saslauthd and uw-imapd for ages now.  I'd like to move to something that supports maildir format.  The ideal stack would have:

Maildir format for mail storage
SMTP-AUTH relay over TLS or SSL.
User configurable filters.  Right now I use procmail for this.
Milter support for SpamAssassin and clamav scanners.
IMAP and POP3 access over TLS or SSL.

Any recommendations for such a mail server stack?


----------



## gordon@ (Apr 1, 2009)

Christopher said:
			
		

> I've been running sendmail with cyrus-sasl-saslauthd and uw-imapd for ages now.  I'd like to move to something that supports maildir format.  The ideal stack would have:
> 
> Maildir format for mail storage
> SMTP-AUTH relay over TLS or SSL.
> ...



I would keep your current sendmail setup and add procmail as your local delivery agent and tell it to use maildir.

As for IMAP and POP3 access, I would use courier-imap. I've used it to good effect for years and it's much much easier to setup than cyrus.


----------



## phoenix (Apr 1, 2009)

Postfix for SMTP.  Supports cyrus-sasl and maildir.  Also supports milter; can also integrate with amavisd-new for SpamAssassin, ClamAV, other AV engines, other spam filters, etc.

Cyrus for IMAP.  Support cyrus-sasl (obviously), maildir, and SIEVE mail filtering engine.  SIEVE has an RFC, and many e-mail clients support it.  It's also a server-side filtering engine.  Also supports POP3 if needed.

It's also quite simple to get those two to use proper virtual users, where user@domain1.com is a different user from user@domain2.com.  Which is something sendmail still has trouble with.


----------



## DutchDaemon (Apr 1, 2009)

Sendmail does that using virtusertable. Nothing troubling about it.


```
john@domain.com     somejohn
john@domain2.com    otherjohn
john@domain3.com    john@otherdomain.com
etc.
```


----------



## phoenix (Apr 2, 2009)

Last time I looked at sendmail (FreeBSD 4.x days), it only supported globally unique virtual users (ie john@domain1.com and john@domain2.com were the same), which is why I moved to Postfix.

Haven't looked at sendmail since, mainly due to the config file format.  If you know the format or know your way around m4, it's not horrible (although it's definitely not nice).  If you don't, it's like all your worst nightmares rolled into one.  

Glad to hear sendmail supports real virtual users, though.


----------



## DutchDaemon (Apr 2, 2009)

You don't have to run m4 anymore, there are build scripts (sh Build install-cf, for example). I think the complexity of the .mc file is still overrated, but I have to add I've been using it since 1994.


----------



## Christopher (Apr 3, 2009)

gordon@ said:
			
		

> I would keep your current sendmail setup and add procmail as your local delivery agent and tell it to use maildir.



I didn't know procmail had support for maildir format mailboxes.  Can you give me a pointer on integrating procmail with sendmail so local mail gets delivered in maildir format?

Thanks!


----------



## Christopher (Apr 3, 2009)

phoenix_rizzen said:
			
		

> Cyrus for IMAP.  Support cyrus-sasl (obviously), maildir, and SIEVE mail filtering engine.  SIEVE has an RFC, and many e-mail clients support it.  It's also a server-side filtering engine.  Also supports POP3 if needed.



Thanks, I think Cyrus IMAP will do the job.


----------



## gordon@ (Apr 3, 2009)

A quick plug into google comes up with:

http://www.puresimplicity.net/~hemi/freebsd/procmail.html

Basically, you just have to add 2 statements to the .mc file, rebuild and go on with life (after installing the procmail port of course).


----------



## osx-addict (Apr 4, 2009)

After moving from an Exim + Cyrus Imapd + SpamAssassin + SASLAuthd setup under Linux, some of which were very painful to install (Cyrus imapd + SASLAuthd in particular), I've now moved over to FreeBSD as some of you know and am running Sendmail + Spamassassin + Milter + Dovecot IMAP + ClamAV.. The majority of that configuration was done with the help of this page..  Overall, I'm very happy with Sendmail and the simplicity.. It's not as hopped up as my old Exim was (I was running a modified "sa-exim" -- if you don't know what that is, try Google) and seems very reliable so far..


----------



## hydra (Apr 4, 2009)

I would recommend you these components:

Postfix (SASL, TLS)
Dovecot (Deliver (virtual domains), Maildir, Sieve, TLS)
Amavisd-new (SpamAssassin, Clamav)

I don't say that other programs wouldn't do it, I just happily use these ones.


----------



## dinoex@ (Apr 13, 2009)

I tried dovecot-deliver and procmail as LDA.

It does work under normal load,
but on disk full, the LDA generates hard bounces 5.x.x. instead of temporary failure 4.x.x.

Anyone have hints how to avoid this?


----------



## hydra (Apr 13, 2009)

I believe it's normal to drop incoming mail when the disk is full, or else the SMTP servers would DOS the server (especially those M$ Exchange servers that hammer every 2 minutes...). Are you using quotas ?


----------



## dinoex@ (Apr 16, 2009)

I don't use quotas.
Disk did fill up with stuff other than mailboxes.

sendmails "mail.local" in LDS mode is very grateful in this case.
Wen trying to deliver it returns 4.7.1, so the mail stays in Q
for later delivery. Sendmail itself does delay incoming mail
with 4.7.1 as well, so after disk space is free the mails are all successful delivered.

I was surprised this does not work with Maildirs.
When storage was exceeded, then create the hard 5.x.x error,
which causes the Queue fill up with bounces, cause the bounce
will hit the 5.x.x error from the LDA again, causing more bounces.
Which results in drop/loss of countless mails.


----------

