how to send a copy to another email address of all incoming messages from an email account?(postfix)
Solution 1:
You can simply use recipient_bcc_maps to copy all emails being sent to a specific user (or a specific domain).
For example add the following line to your main.cf
(or use postconf
for that):
recipient_bcc_maps = hash:/etc/postfix/recipient_bcc_maps
and create a file /etc/postfix/recipient_bcc_maps
with the following content:
[email protected] [email protected]
and run postmap recipient_bcc_maps
.
Solution 2:
You can do this by creating two aliases for the account, as follows:
Let's say you have two email addresses: [email protected] and [email protected], and you want mom to get a copy of all of kid's email. In this case, [email protected] and [email protected] would both be accounts, but you would also create the following aliases:
From: To:
[email protected] [email protected]
[email protected] [email protected]
Postfix will understand this -- the kid -> kid alias does not create a loop (though it looks like it should!), instead it tells Postfix to continue on to delivering to the mailbox even though the mail was already delivered to the alias.
Solution 3:
one solution is to use procmail a different solution is to use ~/.forward file. over the two procmail has far more options and control.
Solution 4:
I suggest using this milter if your postfix storage format is mbox: http://www.dancingfortune.com/projects/archivesmtp/index.php
the advantage is that if a user is authenticated and not using the proper from details his mail will still be caught by this milter while the sender_bcc_maps won't catch it.