-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tuesday 15 October 2002 3:56 pm, Kevin Coyner wrote: > Is it possible to do the following, or is there a better way ... > > Objective: setup a spare box that downloads mail for me and my family > from various POP3 servers. DL'd mail gets scanned for spam and then is > held for eventual retrieval by users.
There are other replies - but to me all of them seemed to go too far with procmail. Also here is some detail for you to help with the configuration I have exactly this setup and I use the debian packages fetchmail, exim, spamassasin, spamc, ipopd and uw-imap [note in the files below, my internal network has a set of domain names *.home with ip addresses in the 10.0.10.* range - also beware of end of line wrap from my mail client] 1) Fetchmail - this reads the data from several isps and forwards it to a Mail Transfer Agent (MTA - exim). You need a /etc/fetchmailrc file - here is parts of mine (passwords changed to protect me) # Created by AKC 14th July 2000 set syslog set no bouncemail poll mail.tesco.net no dns proto POP3 tracepolls interval 16 aka tesco.net user "alan.chandler" password "x" forcecr is alan fetchall smtpaddress fetchmail.home user "Sarah.Chandler" password "y" forcecr is sarah fetchall smtpaddress fetchmail.home poll pop3.blueyonder.co.uk no dns proto POP3 tracepolls aka blueyonder.co.uk localdomains chandlerfamily.org.uk libdebate.org There are similar user stanzas for blueyonder - the main reason I included it is to show what you need to do if you have a special domain name (see mine) 2) Exim as the MTA - this can deliver it to the correct files for each user passing data through spamassassin /etc/exim/exim.conf is rather large - so I won't include it all here - but here are a few important keywords primary_hostname = mail.home qualify_domain = roo.home receiver_unqualified_hosts = *.home qualify_recipient = chandlerfamily.org.uk local_domains = localhost:*.home:chandlerfamily.org.uk:libdebate.org host_accept_relay = 127.0.0.1: 10.0.10.0/24 end # TRANSPORTS CONFIGURATION # # this is where mail is delivered to the files that the pop server can give them out on local_delivery: driver = appendfile group = mail mode = 0660 mode_fail_narrower = false envelope_to_add = true return_path_add = true file = /var/mail/${lc:$local_part} # This outgoing mail remote_smtp: driver = smtp headers_rewrite = *@*home $[EMAIL PROTECTED] return_path = ${lc:${sender_address_local_part}}@chandlerfamily.org.uk # This transport does a spam check to look for spam and then re-injects # the message into exim check_spam: driver = pipe user = mail group = mail prefix = suffix = command = spamc -f | exim -oMr spam_checked ${if eq {$sender_address} {} {} {-f $sender_address}} \$[EMAIL PROTECTED] ignore_status = true use_shell = true path = /usr/bin:/usr/sbin end # DIRECTORS CONFIGURATION # # Only Mail that I expect to deliver locally is checked for spam spam_to_check: driver = smartuser transport = check_spam condition=${if eq {$received_protocol} {spam_checked} {no} {${if eq {$sender_address_domain} {chandlerfamily.org.uk} {no} {yes} }} } # This director matches local user mailboxes. # (I am being very restrictive on what I will allow) localuser: driver = smartuser local_parts = /etc/exim/local-users user = ${lc:$local_part} transport = local_delivery # # Anything else that has not been handled is to be forced to me # allelse: driver = smartuser # this transport is like local_delivery except it specifies my mail file. transport=deliver_alan end # End of Exim configuration file 3) install the standard debian ipopd and uw-imap packages on your server (mail.home or roo.home in my case - they are just aliases of the same computer) You need an account on the mail server for all your users - they logon to the pop3 or imap servers with the logon name and password - -- Alan Chandler [EMAIL PROTECTED] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.0 (GNU/Linux) iD8DBQE9reWhuFHxcV2FFoIRAqiUAJwLqEJaHHnblMb9utBEjfSJ26rDyACfVBB0 NCehlMCQHwlR9w4cyP72mH8= =RFLC -----END PGP SIGNATURE----- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]