[postfix-users] Postfix mit dovecot als LDA = Problem

Sebastian Kösters skoesters at gmx.de
Fr Apr 16 19:52:20 CEST 2010


Hallo,

im Zuge meiner sieve Installation musste ich (laut howto) meine bisherige
(funktionierende) postfix virtual Installation so ändern, dass "dovecot" als
"virtual_transport" benutzt wird.

Nach einigen Problemen glaube ich mittlerweile nah an einer Lösung zu sein,
doch im mom bekomme ich ein Problem nicht weg:

---

deliver(skoesters at domain.net): Apr 16 19:29:12 Info: Loading modules from
directory: /usr/local/lib/dovecot/lda
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: Module loaded:
/usr/local/lib/dovecot/lda/lib90_cmusieve_plugin.so
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: auth input:
home=/mail/domain.net/skoesters/
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: auth input: mail=
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: auth input: uid=8
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: auth input: gid=12
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: auth input: quota=0
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: maildir:
access(/mail/domain.net/skoesters//Maildir, rwx): failed: No such file or
directory
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: maildir: couldn't find
root dir
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: maildir: Couldn't
create mail storage : Root mail directory not given
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: mbox: root:
access(/mail/domain.net/skoesters//mail, rwx) failed: No such file or
directory
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: mbox: root:
access(/mail/domain.net/skoesters//Mail, rwx) failed: No such file or
directory
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: mbox: checking if we
are chrooted:
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: mbox autodetect: data=
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: mbox autodetect: has
.imap/: stat(/.imap) failed: No such file or directory
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: mbox autodetect: has
inbox: stat(/inbox) failed: No such file or directory
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: mbox autodetect: has
mbox: stat(/mbox) failed: No such file or directory
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: mbox: root mail
directory not found
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: mbox: Couldn't create
mail storage : Autodetection failed
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: dbox: mailbox location
not given
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: dbox: Couldn't create
mail storage : Root mail directory not given
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: cydir: mailbox location
not given
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: cydir: Couldn't create
mail storage : Root mail directory not given
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: raw: mailbox location
not given
deliver(skoesters at domain.net): Apr 16 19:29:12 Info: raw: Couldn't create
mail storage : Root mail directory not given
deliver(skoesters at domain.net): Apr 16 19:29:12 Error: mail_location not set
and autodetection failed: Mail storage autodetection failed with
home=/mail/domain.net/skoesters/

---

Es geht mir im speziellen um diese Zeile:

deliver(skoesters at domain.net): Apr 16 19:29:12 Info: maildir:
access(/mail/domain.net/skoesters//Maildir, rwx): failed: No such file or
directory

ich finde bisher einfach nicht den Grund, warum an
"/mail/domain.net/skoesters/" (was richtig wäre) noch ein "/Maildir" oder
"/mail" dranhängt.

Hier mal meine Configs:

Dovecot.conf
---

protocols = imaps
listen = x.x.x.x
log_path = /var/log/dovecot.log
ssl_cert_file = /etc/cert/mail.domain.net.cert
ssl_key_file = /etc/cert/mail.domain.net.key
ssl_cipher_list = ALL:!LOW:!SSLv2
ssl_verify_client_cert = no
verbose_ssl = yes
auth_debug_passwords = yes 
mail_location = maildir:~/
mail_debug = yes
auth_debug_passwords = yes
verbose_proctitle = yes
first_valid_uid = 8
last_valid_uid = 8
first_valid_gid = 12
last_valid_gid = 12
maildir_copy_with_hardlinks = yes
protocol imap {
  mail_plugins = quota imap_quota
  imap_client_workarounds = delay-newmail outlook-idle netscape-eoh
tb-extra-mailbox-sep
}
  
protocol lda {
  postmaster_address = postmaster at domain.net
  hostname = mail.domain.net
  auth_socket_path = /usr/local/var/run/dovecot/auth-master
  mail_plugins = cmusieve
  log_path = /var/log/dovecot-local-deliver.log
}
auth_executable = /usr/local/libexec/dovecot/dovecot-auth
auth_username_chars =
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
auth_debug = yes
auth_realms = domain.net
auth default {
  mechanisms = plain login
  passdb sql {
    args = /usr/local/etc/dovecot-mysql.conf
  }
  userdb prefetch {
  }
  userdb sql {
    args = /usr/local/etc/dovecot-mysql.conf
  }
  user = nobody
  socket listen {
    client {
      path = /var/spool/postfix/private/auth
      mode = 0666
      user = postfix
      group = postfix
    }
    master {
      path = /usr/local/var/run/dovecot/auth-master
      mode = 0600 
      user = mail
      group = mail
    }

  }
}
dict {
}
plugin {
  quota = maildir
}

---

Dovecot-mysql.conf
---

connect = host=192.168.2.200 port=3306 user=postfix password=xxxxx
dbname=postfix
driver = mysql
default_pass_scheme = PLAIN-MD5
password_query = SELECT password,CONCAT('/mail/', maildir) AS userdb_home,
'8' AS userdb_uid, '12' AS userdb_gid, NULL as allow_nets FROM mailbox WHERE
username = '%u' AND domain = '%d' AND active = '1'
user_query = SELECT CONCAT('/mail/', maildir) AS home, '' as mail, '8' AS
uid, '12' AS gid, mailbox.quota AS quota FROM mailbox WHERE username = '%u'
AND domain = '%d'

---

Postconf -n
---

alias_maps = hash:/etc/aliases
config_directory = /etc/postfix
home_mailbox = Maildir/
inet_interfaces = all
mydomain = domain.net
myhostname = mail.domain.net
mynetworks = x.x.x.x
myorigin = $mydomain
smtpd_delay_reject = yes
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks,
reject_non_fqdn_helo_hostname,    reject_invalid_helo_hostname,    permit
smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated,   reject_invalid_hostname,
reject_non_fqdn_hostname,   reject_unauth_pipelining,
reject_non_fqdn_recipient,   reject_unknown_recipient_domain,
reject_unauth_destination,   check_sender_access
hash:/etc/postfix/sender_access,   check_policy_service
unix:postgrey/socket,   check_policy_service inet:127.0.0.1:10040,
reject_unverified_recipient,   permit
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_restrictions = permit_mynetworks,    reject_non_fqdn_sender,
reject_unknown_sender_domain,    permit
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/cert/mail.domain.net.cert
smtpd_tls_key_file = /etc/cert/mail.domain.net.key
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:/var/spool/postfix/smtpd_tls_cache
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_gid_maps = static:12
virtual_mailbox_base = /mail
virtual_mailbox_domains =
proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 8
virtual_transport = dovecot
virtual_uid_maps = static:8

---

Master.cf
---

[...]
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=mail:mail argv=/usr/local/libexec/dovecot/deliver -f
${sender} -d ${user}@${nexthop}

---


Bisher konnte ich noch nicht mal testen, ob sieve funktioniert, da ich mit
"virtual_transport = dovecot" keine Mails empfange (siehe Fehler oben).
Sobald ich das wieder auf "virtual" änder werden Mails wieder korrekt
zugestellt. Allgemein ist mein Setup also eigentlich ok (für mich).

Ich hab an diversen stellen (main.cf, dovecot.conf, dovecot-mysql.conf etc.)
mit Maildir rumgespielt, es kam jedoch nie etwas vernünftiges dabei rum.

Über das System:

- CentOS 5.3
- dovecot 1.1.20
- sieve 1.1.8
- postfix-2.3.3-2.1.centos.mysql_pgsql (rpm)

Solltet Ihr weitere Infos brauchen, lasst es mich wissen.

Danke und Gruß
Sebastian

PS: schönes Wochenende!



Mehr Informationen über die Mailingliste postfix-users