| 1 | From: Oliver Egginger <Oliver.Egginger@dvz.fh-giessen.de> |
| 2 | Date: 21 May 2003 10:11:16 +0200 |
| 3 | |
| 4 | Hi there, |
| 5 | |
| 6 | download the spamassassin package. See |
| 7 | http://au.spamassassin.org/downloads.html |
| 8 | |
| 9 | Define a router in your Exim configuration file. |
| 10 | For Exim 4 it could look like this: |
| 11 | |
| 12 | # Spam Assassin |
| 13 | spamcheck_router: |
| 14 | no_verify |
| 15 | check_local_user |
| 16 | # When to scan a message : |
| 17 | # - it isn't already flagged as spam |
| 18 | # - it isn't already scanned |
| 19 | # - comes from ABC.DEF.GHI.JKL or MNO.PQR.STU.VWX |
| 20 | # - .spamcheck exists for this user |
| 21 | condition = \ |
| 22 | "${if and { {!def:h_X-Spam-Flag:} \ |
| 23 | {!eq {$received_protocol}{spam-scanned}} \ |
| 24 | {or { {eq {$sender_host_address}{ABC.DEF.GHI.JKL}} \ |
| 25 | {eq {$sender_host_address}{MNO.PQR.STU.VWX}} \ |
| 26 | }\ |
| 27 | }\ |
| 28 | }\ |
| 29 | {1}{0}\ |
| 30 | }" |
| 31 | require_files = $home/.spamcheck |
| 32 | driver = accept |
| 33 | transport = spamcheck |
| 34 | |
| 35 | |
| 36 | This router has two advantages (for us): |
| 37 | |
| 38 | 1. You can define the sender host addresses from which you will scan the spam. |
| 39 | In my example there are ABC.DEF.GHI.JKL and MNO.PQR.STU.VWX (you have to |
| 40 | substiute this by your real IP-Adresses). |
| 41 | |
| 42 | 2. The spamcheck router only runs in dependency of the existence of the |
| 43 | .spamcheck file. So your users can decide whether or not they wont to use |
| 44 | Spamassassin. Thats important for protection of privacy in germany. |
| 45 | |
| 46 | If you don't need this you can simplify the router, for example: |
| 47 | |
| 48 | # Spam Assassin |
| 49 | spamcheck_router: |
| 50 | no_verify |
| 51 | check_local_user |
| 52 | # When to scan a message : |
| 53 | # - it isn't already flagged as spam |
| 54 | # - it isn't already scanned |
| 55 | condition = \ |
| 56 | "${if and { {!def:h_X-Spam-Flag:} \ |
| 57 | {!eq {$received_protocol}{spam-scanned}} \ |
| 58 | }\ |
| 59 | {1}{0}\ |
| 60 | }" |
| 61 | driver = accept |
| 62 | transport = spamcheck |
| 63 | |
| 64 | |
| 65 | In the end you will need a spamcheck transport. This one works well for us: |
| 66 | |
| 67 | # Spam Assassin |
| 68 | spamcheck: |
| 69 | driver = pipe |
| 70 | command = /usr/exim/bin/exim -oMr spam-scanned -bS |
| 71 | use_bsmtp = true |
| 72 | transport_filter = /usr/bin/spamc |
| 73 | home_directory = "/tmp" |
| 74 | current_directory = "/tmp" |
| 75 | # must use a privileged user to set $received_protocol on the way |
| 76 | # back in! |
| 77 | user = mail |
| 78 | group = mail |
| 79 | log_output = true |
| 80 | return_fail_output = true |
| 81 | return_path_add = false |
| 82 | message_prefix = |
| 83 | message_suffix = |
| 84 | |
| 85 | |
| 86 | Put the router and the transport on the right places in your exim conf and send |
| 87 | the daemon a HUP signal. Thats all. |
| 88 | |
| 89 | - oliver |