Comment: I use smtp relay outgoing, and fetchmail incoming (Score 1) 459
For incoming messages, I set up a catch-all address on my Web Host's email server, and fetch-mail it over IMAP. Then, I let fetchmail deliver it to my mail server, and process the mail delivery to local addresses in LDAP on my server, but it depends what your host provider does to the headers when the mail goes to the catch-all. If this is a problem, you may need to set up separate accounts on your host provider's server, or if they will let you, set the outbound to your domain to relay to your sever over a non-standard port (which, if they will let you do the relay, they can usually encrypt the connection too).