Hallo,
ich habe eine Catchall Adresse eingerichtet. Dafür habe ich eine Datei .qmail-catchall angelegt mit folgendem Inhalt:
&konto1.abc.de
&konto2.abc.de
Wenn ich jetzt in der .qmaildefault eintrage:
| /var/vpopmail/bin/vdelivermail '' catchall@abc.de
werden die Mails auch weitertransportiert.
Nun folgendes Problem
Ich brauche diese Umleitung aber erst in der mailfilterdatei. Und wenn ich in der .qmail-default eintrage:
| maildrop mailfilter
und dann in der mailfilter:
VPOP="| /var/vpopmail/bin/vdelivermail ' ' catchall@abc.de
to "$VPOP"
werden die Mails nicht ausgeliefert. Wenn ich ins send-log sehe, merke ich auch das er die Mails anders behandelt.
Warum ist das so, und wie kann ich das umgehen?
Gruss Mario
maildrop + vdelivermail
Re: maildrop + vdelivermail
Als erstes würde ich maildrop mit dem kompletten Pfad aufrufen:
Als nächstes musst du auch sicherstellen, dass dein Filterfile vom user vpopmail lesbar ist.
Marc
Dann würde ich mir überlegen, ob du beim copy&paste etwas unterschlagen hast, oder ob es wirklich fehlt und og das Leerzeichen zwischen den single quote da hin gehört.Meine .qmail für einen User mit maildrop filter
|/usr/bin/preline /usr/bin/maildrop /var/vpopmail/bin/xfilter
Als nächstes musst du auch sicherstellen, dass dein Filterfile vom user vpopmail lesbar ist.
GrussVPOP="| /var/vpopmail/bin/vdelivermail ' ' catchall@abc.de
VPOP="| /var/vpopmail/bin/vdelivermail '' catchall@abc.de"
Marc
Re: maildrop + vdelivermail
Hallo Marc,
danke für Deine Antwort. Aber leider liegts net daran.
Also meine Konfiguration:
es gibt eine .qmail-default:
Mit dem Befehl
Wenn ich jetzt gerade so gucke, könnte ich mir das VHOME in der Schleife sparen 8O
So nun der Punkt:
Wenn ich eine "normale Adresse habe z.B.: info@abc.de lege ich diese an und mache eine Datei: .qmail-info in der root der Domaine.
Schreibe ich da: &webmaster@abc.de rein, wird diese auch perfekt weitergeleitet.
Es wird also für das Konto wie angegeben die .mailfilterdatei includiert:
.qmail-info nicht benutzt bzw. ignoriert.
Das raff ich nicht. Ich habe in vielen Mailinglisten ähnliche Probleme gefunden aber keine Ansätze... bis jetzt.
Habt Ihr Ideen, oder gehts bei Euch?
Im Moment kann man eben Catchall "nur" per POP3 oder IMAP abholen. zur Not würde es gehen, aber naja ...
An alle Freaks: Ja der Code kann optimiert werden :-D
Grüsse Mario
danke für Deine Antwort. Aber leider liegts net daran.
Also meine Konfiguration:
es gibt eine .qmail-default:
maildrop und die Datei Mailfilter wird auch ohne Probleme gefunden und benutzt:| maildrop mailfilter
Wie mann sieht wird geschaut ob es ein Catchall gibt.
import EXT
import HOST
VCATCHALL="aus"
VPOP="| /var/vpopmail/bin/vdelivermail '' bounce-no-mailbox"
VHOME=`/var/vpopmail/bin/vuserinfo -d $EXT@$HOST`
# Ist ein Catchall vorhanden?
if ($VCATCHALL ne "aus")
{
#Gibts das Konto lokal, damit nicht weggefangen wird!
if ( $VHOME eq "" )
{
VHOME=`/var/vpopmail/bin/vuserinfo -d $VCATCHALL`
VPOP="| /var/vpopmail/bin/vdelivermail '' $VCATCHALL"
to "$VPOP"
}
}
# Nachsehen ob Spamfilter eingeschaltet ist?
`test -e $VHOME/spamfilter-aktiv`
# Ist Spamfilter ist aktiv dann scannen
if( $RETURNCODE eq 0 )
{
if ( $VHOME eq "" )
{
to "$VPOP"
}
else
{
exception {
include $VHOME/.mailfilter
}
exception {
to "$VPOP"
}
}
}
else
{
to "$VPOP"
exit
}
Mit dem Befehl
wird die Mail weitergeschickt, wenn es ein Catchall gibt + der Empfänger kein existierendes Konto ist, wäre ja Schwachsinn.VHOME=`/var/vpopmail/bin/vuserinfo -d $VCATCHALL`
VPOP="| /var/vpopmail/bin/vdelivermail '' $VCATCHALL"
to "$VPOP"
Wenn ich jetzt gerade so gucke, könnte ich mir das VHOME in der Schleife sparen 8O
So nun der Punkt:
Wenn ich eine "normale Adresse habe z.B.: info@abc.de lege ich diese an und mache eine Datei: .qmail-info in der root der Domaine.
Schreibe ich da: &webmaster@abc.de rein, wird diese auch perfekt weitergeleitet.
Es wird also für das Konto wie angegeben die .mailfilterdatei includiert:
normale Mails kommen also an. Aber bei catchall wird eben die
# Ist ein Catchall vorhanden?
if ($VCATCHALL ne "aus")
{
if ( $SIZE < 262144 )
{
#Gibts das Konto lokal, damit nicht weggefangen wird!
if ( $VHOME eq "" )
{
xfilter "/usr/local/bin/spamc -f -u $VCATCHALL"
}
else
{
xfilter "/usr/local/bin/spamc -f -u $EXT@$HOST"
}
if (/^X-ChemSoft-Spam-Flag: YES/)
{
cc "|/usr/local/bin/spamassassin -d |/usr/bin/spamprobe -c -d $VHOME -8 spam"
xfilter "/usr/local/bin/spamassassin -d"
}
else
SCORE = `/usr/bin/spamprobe -c -d $VHOME -8 receive`
}
}
else
{
if ( $SIZE < 262144 )
{
xfilter "/usr/local/bin/spamc -f -u $EXT@$HOST"
if (/^X-ChemSoft-Spam-Flag: YES/)
{
cc "|/usr/local/bin/spamassassin -d |/usr/bin/spamprobe -c -d $VHOME -8 spam"
xfilter "/usr/local/bin/spamassassin -d"
}
else
SCORE = `/usr/bin/spamprobe -c -d $VHOME -8 receive`
}
}
# Auslieferung an Postfach/Spamordner
if ( /^X-Chemsoft-Antispam-Status: SPAM/ )
{
to "$VHOME/Maildir/.Spam"
exit
}
else
{
to "$VPOP"
exit
}
.qmail-info nicht benutzt bzw. ignoriert.
Das raff ich nicht. Ich habe in vielen Mailinglisten ähnliche Probleme gefunden aber keine Ansätze... bis jetzt.
Habt Ihr Ideen, oder gehts bei Euch?
Im Moment kann man eben Catchall "nur" per POP3 oder IMAP abholen. zur Not würde es gehen, aber naja ...
An alle Freaks: Ja der Code kann optimiert werden :-D
Grüsse Mario
