Re: [EXIM] POP-before-send in exim?

Top Page
Delete this message
Reply to this message
Author: Elliot Finley
Date:  
To: Tabor J. Wells
CC: exim-users
Subject: Re: [EXIM] POP-before-send in exim?
I've implemented a POP-before-send with exim. It's fairly easy, and works great.

Just put this in your exim configure file

sender_net_accept_relay = /usr/local/etc/exim/allowable.relays

And then run this program and make sure that you have it set to start when you boot up.


#!/usr/bin/perl
$FIFO = '/usr/local/etc/exim/allowable.relays';

while (1) {
    unless (-p $FIFO) {
        unlink $FIFO;
        system('mkfifo', $FIFO)
            && die "can't mkfifo $FIFO: $!";
    }


    # next line blocks until there's a reader
    open (FIFO, "> $FIFO") || die "can't write $FIFO: $!";
    ip_out();
    close FIFO;
    sleep 2;    # to avoid dup signals
}


sub ip_out {
    my %ipList, $line, $ip;


    open (MAILLOG, "< /var/log/maillog") || die "can't read /var/log/maillog: $!";
    while($line = <MAILLOG>) {
        if(($line !~ m/failure/) && ($line =~ m|\d+\.\d+\.\d+\.\d+|)) {
            ($ip) = ($line =~ m|(\d+\.\d+\.\d+\.\d+)|);
            if(!exists($ipList{$ip})) {
                $ipList{$ip} = 1;
                print FIFO "$ip/32:\n";
            }
        }
    }
    close MAILLOG;
}


On Tue, 2 Feb 1999 11:50:41 -0500, you wrote:

>Has anyone implemented a POP-before-send mechanism in exim to work around
>relay restrictions? I've checked the FAQ and as much of egroups.com's slow
>servers as I can stomach, with no success.
>
>I'd hate to reinvent the wheel, but if I do have to come up with something
>on my own, I'll be sure to send the info back to the list.
>
>Tabor
>
>-- 
>___________________________________________________________________________
>Tabor J. Wells                                             twells@???
>Systems Administration Manager  Just another victim of the ambient morality
>Shore.Net  --  High quality Internet access and hosting services since 1993


--
Elliot (efinley@???)

"The box said 'Requires Windows 95, NT, or better,' so I installed FreeBSD."

--
*** Exim information can be found at http://www.exim.org/ ***