| 1 | Date: Wed, 18 Sep 2002 15:22:44 +0100 (BST) |
| 2 | From: Tony Finch <fanf2@cam.ac.uk> |
| 3 | |
| 4 | I wanted to be able to preserve the envelope contents (except for the return |
| 5 | path when I'm feeling paranoid about error handling). |
| 6 | |
| 7 | Feel free to add this to the examples -- someone else might find it useful. I |
| 8 | also have a complete configuration which I have been recommending to other |
| 9 | people in Cambridge (although it could work elsewhere with tweaks) at |
| 10 | http://www-uxsup.csx.cam.ac.uk/~fanf2/conf4.satellite. |
| 11 | |
| 12 | # Deliver a duplicate of some proportion of all messages to a special |
| 13 | # machine specified in the file /MAIL_TAP_HOST, if it exists. The |
| 14 | # probability of sending a message is the reciprocal of the second |
| 15 | # number in the hash part of the condition. The address data is used |
| 16 | # to prevent redirected addresses from being tapped twice. The |
| 17 | # originating host and sender are recorded in extra headers. If the |
| 18 | # delivery fails the bounce goes to a rubbish bin (although this means |
| 19 | # that the traffic seen by the tap is not quite the same as the |
| 20 | # traffic seen here). |
| 21 | |
| 22 | traffic_tap: |
| 23 | unseen |
| 24 | no_expn |
| 25 | no_verify |
| 26 | transport = smtp |
| 27 | driver = manualroute |
| 28 | require_files = /MAIL_TAP_HOST |
| 29 | route_data = ${readfile{/MAIL_TAP_HOST}{:}} |
| 30 | address_data = ${if!def:address_data{tapped}fail} |
| 31 | condition = ${if!eq{a}{${hash_1_1:$message_headers$message_body}}{no}{yes}} |
| 32 | headers_add = ${if!def:sender_host_address{}{X-Orig-Remote-Host: $sender_host_address}}\n\ |
| 33 | X-Orig-Return-Path: $return_path |
| 34 | errors_to = YOUR_RUBBISH_BIN_ADDRESS_HERE |
| 35 | |