PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : maildrop den richtigen Pfad weisen



DerAufgeklUser
03.04.08, 15:26
Moinsen!

Ich versuche unseren Postfix mit maildrop zu bestücken, habe aber noch ein Problem mit dem Pfad, unter dem die Mails zu finden sein sollen.
Der Pfad zu den Maildirs sieht so aus:


/home/vmail/<domain>/<mail-alias>

Wenn ich maildrop per virtual_transport in der /etc/postfix/main.cf anknipse landen die Mails in der Datei (!) /usr/vmail/Maildir.

Wie kann ich Maildrop vermitteln, wo es die Mails ablegen soll?

Die maildrop-Zeile in der master.cf schaut so aus:


maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}

AceTheFace
03.04.08, 18:16
Ich hab das so gemacht:



maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/local/bin/mymaildrop ${recipient}




#!/bin/bash
TARGET=`echo $1 | sed -r "s/(.*)\@(.*)/\2\/\1/"`
/usr/bin/maildrop /home/vmail/${TARGET}/.mailfilter


Gruß,
Ace

DerAufgeklUser
03.04.08, 19:03
Danke schonmal. Aber wo wird denn da die Mail an maildrop übergeben?
Ich habe das so verstanden, dass normalerweise die eingehende Mail von Postfix per stdin übergeben wird. Warum muss das in dem Script nicht gemacht werden?

DerAufgeklUser
04.04.08, 11:42
Ließe sich die TARGET Variable eigentlich auch in die maildroprc schreiben?

DerAufgeklUser
08.04.08, 12:31
Ich habe inzwischen ein wenig mit maildrop herumgespielt und kann nun nachvollziehen, was da ungefähr passiert. Mein eigenes Script, welches ich per postfix aufrufe sieht jetzt so aus:


#!/bin/bash
mailuser=${1%@*}
maildomain=${1#*@}
sender=$2

cat /dev/stdin | /usr/bin/maildrop -d vmail $mailuser@$maildomain $mailuser $maildomain $sender


Rufe ich das Sckript händisch auf, landet die hineingeröhrte Mail in meinem Postfach. Per postfix funktioniert das immernoch nicht. Im mail.log steht zwar, dass die Mail an maildrop übergeben wurde, ihr Ziel erreicht sie jedoch nicht.

Die master.cf Zeile sieht so aus:


maildrop unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/local/bin/mymaildrop ${recipient} ${sender}


Die /etc/maildroprc sieht so aus:

RECIPIENT=$1
MAILUSER=$2
MAILDOMAIN=$3
import SENDER

SHELL=/bin/bash
DEFAULT=/home/vmail/$MAILDOMAIN/$MAILUSER
MAILDIR=$DEFAULT

logfile "/var/log/maildrop.log"


Jemand ne Idee?

DerAufgeklUser
08.04.08, 17:00
Wenn es jemanden interessiert, es funktioniert jetzt:

/etc/postfix/master.cf

flags=hu user=vmail argv=/usr/bin/maildrop -d vmail ${recipient} ${user} ${nexthop} ${sender}


/etc/maildroprc

RECIPIENT=$1
MAILUSER=$2
MAILDOMAIN=$3
SENDER=$4

SHELL=/bin/bash
DEFAULT=/home/vmail/$MAILDOMAIN/$MAILUSER
MAILDIR=$DEFAULT
VERBOSITY=9

logfile "/var/log/maildrop.log"