SysCP arbeitet ohne Shell-Benutzer. Alle User und Daten sind in der MySQL-Datenbank gespeichert. Das rennt auch alles soweit ganz prima. Jedoch habe ich ein Problem mit maildrop.
Ich möchte eingehende Mails auf dem Server durch Spamassassin jagen und serverseitig Mails filtern für courier-imap. Bisher habe ich das alles mit procmail gelöst, das allerdings hierbei aufgrund der fehlenden Shell-User nicht möglich ist.
courier-maildrop habe ich per dpkg-buildpackage neu kompilert, so dass ich nun MySQL-Support habe und die Datei /etc/maildropmysql.config:
Code: Select all
$ maildrop -v
maildrop 1.7.0 Copyright 1998-2003 Double Precision, Inc.
GDBM extensions enabled.
Maildir quota extension enabled.
Virtual user database extension enabled.
Virtual user database via MySQL extension enabled.
This program is distributed under the terms of the GNU General Public
License. See COPYING for additional information./etc/postfix/main.cf:
Code: Select all
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
relayhost =
append_dot_mydomain = no
myhostname = srv.testdomain.de
mydomain = testdomain.de
mydestination = $myhostname localhost localhost.$mydomain
mynetworks = 127.0.0.0/8
smtpd_sender_restrictions = permit_mynetworks, reject_unknown_sender_domain, reject_non_fqdn_sender
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_non_fqdn_hostname, reject_unknown_recipient_domain, reject_invalid_hostname, reject_unknown_sender_domain
maildrop_destination_concurrency_limit = 1
maildrop_destination_recipient_limit = 1
virtual_mailbox_base = /var/kunden/mail/
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
virtual_alias_domains =
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
virtual_uid_maps = static:2000
virtual_gid_maps = static:2000
virtual_transport = maildrop
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_use_tls = no
smtpd_enforce_tls = no
bounce_size_limit = 50000
mailbox_command = procmail -a "$EXTENSION"
recipient_delimiter = +
Code: Select all
[...]
maildrop unix - n n - - pipe
flags=R user=vmail argv=/usr/bin/maildrop -d ${user}@${nexthop} ${extension} ${recipient} ${user}
${nexthop} ${sender}
#maildrop unix - n n - - pipe
# flags=R user=vmail argv=/usr/bin/maildrop -d ${recipient}
#maildrop unix - n n - - pipe
# flags=R user=vmail argv=/usr/bin/maildrop -V9
# -d ${user}@${nexthop} ${extension} ${recipient} ${user} ${sender}
[...]Code: Select all
Nov 5 06:29:00 srv postfix/pipe[32662]: 2A29C2AF1: to=<meinuser@testdomain.de>, relay=maildrop, delay=0, status=bounced (user unknown. Command output: Invalid user specified. )Code: Select all
041105 13:58:00 4 Connect syscp@localhost on syscp
4 Query select domain from panel_domains where domain = 'absenderdomain.de'
4 Query select domain from panel_domains where domain = 'empfaengerdomain.de'
5 Connect syscp@localhost on syscp
5 Query select destination from mail_virtual where email = 'tomek@empfaengerdomain.de'
6 Connect syscp@localhost on syscp
6 Query select destination from mail_virtual where email = 'tomek@empfaengerdomain.de'
4 Query select domain from panel_domains where domain = 'empfaengerdomain.de'
7 Connect syscp@localhost on
7 Init DB syscp
7 Query SELECT email, uid, gid, homedir, maildir, 50000000 FROM mail_users WHERE email = "tomek@empfaengerdomain.de" "where postfix = 'Y'"
7 Quit
6 Query select destination from mail_virtual where email = 'absender@absenderdomain.de'
6 Query select destination from mail_virtual where email = '@absenderdomain.de'
4 Query select domain from panel_domains where domain = 'absenderdomain.de'
041105 13:59:00 5 Quit
6 Quit
4 Quit Wo steckt nun der Fehler? Bis zum Filtern, also das Auslesen der /etc/courier/maildroprc, kommt es ja gar nicht. Ich komme da nicht hinter. Bin dankbar für jede Idee.