I've a Ubuntu 9.04 server installation which is hosting a small number of websites (currently two, and will remain in single figures). The email requirements for the server are very limited - to send outgoing emails and forward all incoming emails to a mailbox on another server - most likely Google.
I've installed postfix and the outgoing mail is working fine. How do I configure Postfix to forward all incoming mail? If I send it to a googlemail address are there any special considerations? Finally how difficult is it to incorporate basic spam filtering into the forwarding mechanism?
This is called a "catch all"
Mapping is done using /etc/postfix/virtual file.
Append code as follows, replacing domain and emailusername with actual values:
Save and close the file. Run following command:
Also make sure you have following line in /etc/postfix/main.cf file:
If you just added above, line reload postfix:
From http://www.cyberciti.biz/faq/howto-setup-postfix-catch-all-email-accounts/
You need virtual aliases. Something like:
where
/etc/postfix/virtual
contains:run
postmap /etc/postfix/virtual
to create the database from the map file andpostfix reload
to re-read the configuration. The virtual table is quite flexible -- you can match specific addresses or whole domains and forward mail to multiple addresses.Note: Do not list the extra domains in
$mydestination
! See the docs for more detail.No special considerations I can think of when sending to GMail addresses. One optional neat trick is to send mail for each domain to a separate address and have GMail automatically label it accordingly. Forward mail for
foo.com
to[email protected]
andbar.com
to[email protected]
and corresponding filters. See this GMail blog post for more.I haven't tried but one method to filter spam is to incorporate SpamAssassin. A Google for this turns up quite a few handy-looking guides.
Isn't it simpler to use 'always_bcc = [email protected]' in main.cf? Denes
Note that when using virtual aliases or mail forwarding, Postfix tends to retain the envelope sender from the original message. This causes problems for Gmail and others that use SPF:
I haven't found any good solution for this, but here's a hack to sort-of-fix-it:
Create a new file
/etc/postfix/sender_canonical
:postmap /etc/postfix/sender_canonical
Add some lines to
/etc/postfix/main.cf
:service postfix reload
Send email from an external source and verify that
Return-Path
contains yourpostmaster@***
addressWarning: This replaces the envelope sender for all messages passing through your server, which may have unintended side-effects. The message
From
headers should not be modified by this however, so sender addresses should still display correctly.