S4Y Confixx eMail-Weiterleitungsbugfix

Reisswolf

Registered User
Tag zusammen !

Ich habe gerade festgestellt das die Weiterleitung von einem Catchall
auf eine andere externe Mailadresse nicht funktioniert, bzw. Fehlerhaft ist.
Beispiel: (*@meinedomain.de) -> (ich@gmx.de)
in der /etc/exim4/confixx/confixx-aliases führt das zu einem Eintrag,
der so aussieht:
Code:
*@meinedomain.de        ich@gmx.de@meinedomain.de

Abhilfe kann man schaffen, in dem man die /etc/exim4/confixx/makemail.pl
anpasst, bzw. korrigiert.

Die neue sieht dann so aus:
Code:
#!/usr/bin/perl -w
####
# makemail.pl
# based on thh 020817
# some changes for exim4 from mbroemme
# catchall bugfix by reisswolf

$type = shift (@ARGV);
if (!defined($type) or $type ne '--aliases' and $type ne '--domains') {
        die "Usage: $0 --aliases OR $0 --domains\n";
};

while (<>) {
        local ($address,$target,$lhs,$rhs);
        ($address,$target) = split;
        ($lhs,$rhs) = split /\@/, $address;

        if (!grep /^$rhs$/, @domains) {
                push @domains, $rhs;
        };

        if ($lhs eq '') {
                if ($target ne 'error:nouser') {
                        $catchall{$rhs} = $target;
                }
        } elsif ($type eq '--aliases') {
                if (index($target, "@") < 0) {
                        print "$lhs\@$rhs \t $target\@$rhs\n";
                } else {
                        print "$lhs\@$rhs \t $target\n";
                }
        };
};

foreach $domain (@domains) {
        if ($type eq '--aliases') {
                if (exists($catchall{$domain})) {
                        if (index($catchall{$domain}, "@") < 0) {
                                print "*\@$domain\t".$catchall{$domain}."\@$domain\n";
                        } else {
                                print "*\@$domain\t".$catchall{$domain}."\n";
                        }
                };
        } else {
                print "$domain\n";
        };
};

That's It !

ahso wie man leicht sehen kann hab ich nen Debian 3.1 bei S4Y ;) weiß nicht wie das bei den anderen Distributionen ist.
 
Back
Top