I have been given the task of implementing an email solution similar to port995.com
The main difference is that it will be a non-comercial implementation and so won't be carrying the sort of traffic port995.com probably do.
I am conducting a feasability study to choose the MTA I will use.
I believe port995.com use Sendmail.
I believe I can replicate all/most functionality using Qmail &
I have read various documentation for Postfix and am aware that it can handle each item on my specification list individually without
I am strugling however to determine if all items can be satisfied at
the same time.
I am NOT looking for someone to write a long document telling me step by step how to implement this (although that would be ideal). I'd be happy to just be told what tools/patches/docs to specifically
Initially, i'd be happy with a
"Yes - Postfix can deffinately do all this at the same time"
"No - Postfix is currently lacking in <particular functionality>"
Would the Postfix book published by Sams be worth purchasing for myrequirements?
I have narrowed the requirements down to:
- Each end user (customer in port995's case) will be allocated an
- The account is independent of any system accounts there may be (virtual)
- Each account should be assigned a disk quota
- Each account should be able to configure multiple/unlimited domains
- Each account should be able to configure multiple/unlimited email
- The user should be able to specify if each domain will be
independant of each other
i.e. [email protected] may or may not be the same maildir as [email protected]
- The user should have the option to assign a disk quota per address
- Each address should have the option to have an autoresponder
- Filtering email into folders should be available per address
- A whitelist/blacklist facility would be nice, per domain or per
- We should be able to offer some level of spam protection (perhaps
level selectable by user)
- We should be able to offer virus protection (integration with a
commercial virus checker)
Actually, a lot of features you require - Postfix will not deliver by default.
I suggest you use postfix for MTA and consider Cyrus or Courier for POP3 and/or IMAP implementation.
Also, please note that a custom features, for example, a user will be able to modify his domain aliases/create more pop3 boxes (within it limits) etc, requires a custom work on Cyrus/Courier and/or Postfix level - I mean some sort of scripting (perl, c, tcl, python or any other language you good at)
For virus scanning, please find a product Amavis - it's a freeware that allows incorporating virus scanning software into MTA.
For spam protection, please read some info at www.spews.org - they have some resources there as well.... (how to block uce/spam etc) and how to set-up such a system..
The main issue i've found, when reading up on this, is the problem of filtering into folders and/or forwarding to a different email address when using virtual addresses. It seems that the virtual delivery agent doesn't allow for this.
I had already thought Courier would be best for the POP/IMAP serving, but are you suggesting that the Courier 'maildrop' should take the place of the Postfix VIRTUAL Mail Delivery Agent?
There is nice documentation for Qmail+Vmailmgr and Qmail+Vpopmail. There is also some documentation on Postfix+Virtual Delivery+Courier IMAP. The latter, however, doesn't seem to allow filtering/forwarding/per-user-rules/etc. as described above.
Unfortunately there is no single How To, that I can find, that's going to tell me how to get that all working together. Can anyone confirm that I am at least heading in the right direction and that each of the relevant packages can be made to work together at the same time?
You're on the right direction. Postfix give all weapons for admin. I won't use Cyrus although it's fastest because it didn't support dot in username and not compatible with standard Maildir format. I didn't see anything wrong with Courier so I use Postfix+Maildrop+userdb+Courier-imap.
One thing I prefer from Postfix is that it can reject every unwanted stuff at SMTP level rather that let them in and bounce later. The major problem in my qmail servers today is that spammers provide invalid bounced email result in bounced messages remain in my machine which tried to resend them every hours until n expiry date. Of course qmail modular design is so flexible that you can inserting scripts on many places like between tcpserver and smtpd to reject unwanted stuff at smtp level but that's a pain writing scripts and at worst maintaing them.
However I won't rely on mysql because it may become unstable when some users run damn php-mysql scripts in the same machine. I may use it if I have mysql running for serving admin purpose on different machine only but that's also a pain when there is network problem.