0

I'm trying to archive incoming mail by routing it to a PHP script (which inserts it into a database) before sending the email to the destination server.

If I configure my /etc/postfix/transport as such:

example.com smtp:[192.168.1.100]

My email will then be forwarded to the Exchange server (192.168.1.100 for testing) to the appropriate mailbox.

If I configure my /etc/postfix/transport as such:

example.com myarchive:

Then incoming email is piped to a PHP script and inserted into a database, however it never makes it to Exchange.

I've tried adding multiple transports

example.com myarchive:    smtp:[192.168.1.100]

But it only makes it to the first one listed (I've tried both ways). Can something like this be achieved to archive a mail before sending it on its merry way?

Note: "myarchive" is set up in /etc/postifx/master.cf as:

myarchiver   unix  -       n       n       -       -       pipe
  flags=FR user=mailarchive argv=/home/mailarchive/pipe.php
  ${nexthop} ${user}
sanmai
  • 531
  • 5
  • 19
Ryan
  • 99
  • 3

1 Answers1

4

Postfix cannot deliver a message to multiple destinations. You can however use the always_bcc directive to automatically BCC all messages to another address. You still need to configure the transports to deliver messages to the special archive address to your script.

always_bcc = archive@archive.example.com
mgorven
  • 30,615
  • 7
  • 79
  • 122