I'm now ready to tackle throwing spamassassin and clam into the mix!
Thanks once again, dude. You rock!
Is adding servername necessary? It seems to be working without it.cach0rr0 wrote: EDIT:
Looks like we're not alone.
http://www.mail-archive.com/info-cyrus@ ... 37017.html
That seems very broken. Easy to work around, but very broken.
Remove 'defaultdomain', and set:in /etc/imapd.confCode: Select all
servername: serverdef.audiodef.com

I've come to that same conclusion from reading more (and testing)audiodef wrote: Is adding servername necessary? It seems to be working without it.

A few cursory suggestions:audiodef wrote: I can survive without web mail, but my gf would like it so she can check email while out on short trips where she doesn't bring her laptop. Any suggestions on setting up a web mail interface?
Code: Select all
<IfDefine AUTH_IMAP>
LoadModule auth_imap_module modules/mod_auth_imap.so
<Directory /www/mail.whitehathouston.com/htdocs>
AuthBasicAuthoritative Off
Auth_IMAP_Enabled on
AuthName "mail.whitehathouston.com"
AuthType Basic
Require valid-user
Auth_IMAP_Authoritative on
Auth_IMAP_Server renee.whitehathouston.com
Auth_IMAP_Port 143
Auth_IMAP_Log on
</Directory>
</IfDefine>

Even though I haven't the slightest need for scalability with my little home setup, part of the reason I've opted for the combination of Cyrus and Postfix, is because if the exceptional scalability.audiodef wrote:One thing I've noticed is much faster performance, and I assume this is at least in part because I'm running mail for only two people, instead of thousands.
All the credit goes to cach0rr0, but I'm glad I could be a part of shaping an excellent mail server guide.AaronPPC wrote:I love to recognize excellent threads and this is definitely one that riveted me. I think it will help many people. I feel motivated to get off my ass and build that email server I want to build.
If I have the mail interface on audiodef.com/squirrelmail (I don't, but thought it safer to use a fake example in a public venue), how would I make that url (just that subdir, not the TLD) only accessible via SSL?cach0rr0 wrote: -I only have this site served via SSL. This is done by setting up a virtualhost entry for her domain ONLY in 00_default_ssl_vhost.conf, and not in 00_default_vhost.conf. Anyone browsing to http://mail.herdomain.com would just end up at the default vhost - audiodef.com - whereas anyone browsing to https://mail.herdomain.com, would be routed to that vhost, at which point theyd have to give apache their login details, then provide the webmail software their login details.

By examining the logs to see what is getting rejected.audiodef wrote:I finally got around to following the Content Filtering section. My gf asked how she would know whether the RBL's (which she doesn't know about, I just told her I set some filtering config options) are picking up email she wants to get by mistake, and I realised I don't know the answer to that.

you can forcibly redirect to https via mod_rewrite, but this is among the reasons i think it's easier to just have a secondary vhost with its own alias (e.g. mail.domain.com)audiodef wrote: If I have the mail interface on audiodef.com/squirrelmail (I don't, but thought it safer to use a fake example in a public venue), how would I make that url (just that subdir, not the TLD) only accessible via SSL?
Certificate errors. Your users may not feel like dealing with certificate errors, as well it's a small increase in resource usage doing SSL. Avoiding cert errors means paying for a cert realistically (I mean yeah, people can just accept your cert as trusted, but that only works with regular users of the site).audiodef wrote: EDIT: Come to think of it, is there really any reason why I should not just make audiodef.com an SSL site? I don't sell anything and there's no sensitive information, but it is dynamically generated.
Basically, what darkphader said. Rejections will be very visibly logged in mail.log - and among the things i do like about postfix, when troubleshooting mail, dear god how important good logging is.audiodef wrote:My gf asked how she would know whether the RBL's (which she doesn't know about, I just told her I set some filtering config options) are picking up email she wants to get by mistake, and I realised I don't know the answer to that.

It's a solid enough service, but it has some fundamental problems that IMHO make it completely impractical for commercial use (something a handful of my clients have found out the hard way)darkphader wrote: I must admit that my life is so much simpler now that I've moved myself and my clients to Google Apps.
Depends. That actually *was* part of my full-time job for a commercial vendor for a good while, and because SpamAssassin had a nice large chunk of the same functionality available to me in terms of rules that could be written and checks that could be done, I could pretty closely mirror rules between the two (though, obviously, I couldn't really share the custom SA rules I'd written). Header tokenization - surprisingly effective, and I shall say no more.darkphader wrote: Keeping up with anti-spam tweaks can get to be a full-time job. One could spend hours for weeks (maybe months) on end and still not come close to what Google/Postini provides out-of-the-box (unbelievably low false positives or false negatives).
OK. I'll work on setting it up that way.cach0rr0 wrote: you can forcibly redirect to https via mod_rewrite, but this is among the reasons i think it's easier to just have a secondary vhost with its own alias (e.g. mail.domain.com)

Don't know about the "live body" issue, so far email support has been fine, haven't needed to get to the phone support level.cach0rr0 wrote:It's a solid enough service, but it has some fundamental problems that IMHO make it completely impractical for commercial use (something a handful of my clients have found out the hard way)
-support: you have pretty well zero chance of getting ahold of a live body. This simply does not fly with a paid service
-routing: every single message is treated by Google's mail systems as an outbound message. So even if you're sending something intra-office, it goes out, then comes back in.
Oh yes, the "resources", my point exactly. It is, at the least, a time consuming job trying to find the balance, tune the whitelist, tune the blacklist, etc. Not to mention that many screw up the basics: making sure the smtp helo name matches the A record and the PTR is in agreement, a proper SPF record and then adding DKIM to help insure delivery.cach0rr0 wrote:If you have the resources to do the research, and have a large volume of spam from which to craft your rules, you can certainly get the same rate of accuracy with a freebie filter. Where the commercial vendors win out, more than anything, the management tools, and the amount that's just flat turnkey.

Hosted Exchange gives that same benefit. And as far as the routing goes, we helped a ~3000 user shop migrate over to Google Apps. The migration was painless and easy once we plucked the data we needed out of their directory server. All looked great. Until 3 or 4 days go by, and users start getting 30+ minute delays for internal e-mail - major problem for your average joe who's just sending an e-mail 10 feet away to someone, "hey, let's grab lunch". Ended up being a major PITA, and worse still, while this was going on there was no live body at google to get in touch with. Nevermind for a moment, when you're having e-mail delivery issues, it's not particularly great to have your sole means of communication with support be, well, e-mail.darkphader wrote: As for the routing, not seen as an issue by any one of my clients, even those still using Exchange for an in house app, the benefit of having all messages (outbound and inbound) available from any place far outweighs the issue.
Interactive whitelisting/blacklisting is realistically a waste of time. A good commercial content filter is going to have some permutation of what we called "adaptive whitelisting", and well, blacklisting in and of itself has zero merit.darkphader wrote: Oh yes, the "resources", my point exactly. It is, at the least, a time consuming job trying to find the balance, tune the whitelist, tune the blacklist, etc.
Never considered improper A/PTR/HELO a particularly good spam indicator for that very reason. I don't know of many vendors that do, most filters (both commercial ones *and* the likes of SpamAssassin actually) use that at most a contributor to overall spam evaluation, and score it in the 5-10% range (of $triggerlevel)darkphader wrote: Not to mention that many screw up the basics: making sure the smtp helo name matches the A record and the PTR is in agreement, a proper SPF record and then adding DKIM to help insure delivery.
True enough having a larger sample set is useful, but what you'll find is:darkphader wrote: As to the the commercial vendors it's a bit more than that, it's the economies of scale. When x% of a gazillion gmail/postini/google apps users flag messages as spam you get the benefit when you're part of the system. Sometimes size does matter.
There are other big boys besides Google, and frankly their development on Postini by Google has been horribly lackluster since the acquisition. It was sad to see really - though, granted, if you're using Google Apps, it pretty much makes using anyone BUT Postini horribly impractical.darkphader wrote: Running email servers is quite an experience, if you do it proper you will learn a lot but spend a lot of time doing so. When you're ready to get a life let the big boys take over and move on to learning something new.
I thought I knew how to do this, but I'm afraid I need to swallow my pride and ask.cach0rr0 wrote:it's easier to just have a secondary vhost with its own alias (e.g. mail.domain.com)
Code: Select all
<VirtualHost server_name:80>
ServerAdmin my_email
DocumentRoot "/where/it/is"
<Directory "/where/it/is">
SSLRequireSSL
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Code: Select all
<VirtualHost full_server_name:443>
ServerAdmin myemail
DocumentRoot "/where/it/is"
ServerName myservername
SSLEngine on
SSLCertificateFile /etc/ssl/apache2/server.crt
SSLCertificateKeyFile /etc/ssl/apache2/server.key
<Directory "/where/it/is">
SSLRequireSSL
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Code: Select all
ServerName myservername
SSLEngine on
SSLCertificateFile /etc/ssl/apache2/server.crt
SSLCertificateKeyFile /etc/ssl/apache2/server.key
Code: Select all
[Tue Apr 26 18:30:39 2011] [warn] VirtualHost (subdomain2).audiodef.com:443 overlaps with VirtualHost (subdomain1).audiodef.com:443, the first has precedence, perhaps you need a NameVirtualHost directive