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