Hello,
I am using dovecot 1.2rc series on my mail server combined with postfix ( virtual users with postgre ). I have setup separate home and mail locations. It works fine ( with sieve etc. ). The user home folders are in /home/vmail/%d/%n and mailboxes are in /srv/mail/%d/%n . The permissions are fine and everything is working except in the following case :
If a user does not have a home dir already crated ( the home dirs get auto created when creating a sieve script through managesieve for example ), and he recieves a message with an attachment, the delivery fails with the following error :
May 19 10:47:28 mail postfix/pipe[2759]: 969531007B: to=office@grandstarco.com, relay=dovecot, delay=2296, delays=2296/0.2/0/0.06, dsn=4.3.0, status=deferred (temporary failure)
The Dovecot deliver log says :
2009-05-19 10:47:28 deliver(office@grandstarco.com): Error: creat(/home/vmail/grandstarco.com/office/.temp.mail.dodo.bg.2760.1242719248.2760.a5678f56d309fb2c) failed: No such file or directory 2009-05-19 10:47:28 deliver(office@grandstarco.com): Error: copy: i_stream_read() failed: No such file or directory 2009-05-19 10:47:28 deliver(office@grandstarco.com): Error: sieve: msgid=1242716935.24056.6.camel@shiny.bgservice.local: failed to store into mailbox 'INBOX': Internal error occurred. Refer to server log for more information. [2009-05-19 10:47:28] 2009-05-19 10:47:28 deliver(office@grandstarco.com): Error: sieve: script /home/vmail/global.sieve failed with unsuccessful implicit keep
Here's my dovecot -n
dovecot -n # 1.2.rc4: /etc/dovecot/dovecot.conf # OS: Linux 2.6.27-11-server x86_64 Ubuntu 8.10 ext3 log_timestamp: %Y-%m-%d %H:%M:%S protocols: imap imaps managesieve ssl_ca_file: /etc/dovecot/certs/cacert.pem ssl_cert_file: /etc/dovecot/certs/cert.pem ssl_key_file: /etc/dovecot/certs/key.pem ssl_key_password: 1234 ssl_cipher_list: ALL:!LOW:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP login_dir: /var/run/dovecot/login login_executable(default): /usr/lib/dovecot/imap-login login_executable(imap): /usr/lib/dovecot/imap-login login_executable(managesieve): /usr/lib/dovecot/managesieve-login login_greeting: Dodo.bg IMAP Ready. mail_privileged_group: vmail mail_uid: 1001 mail_gid: 1001 mail_location: maildir:/var/mail/%d/%n mail_executable(default): /usr/lib/dovecot/imap mail_executable(imap): /usr/lib/dovecot/imap mail_executable(managesieve): /usr/lib/dovecot/managesieve mail_plugins(default): quota imap_quota fts fts_squat acl imap_acl expire mail_log autocreate mail_plugins(imap): quota imap_quota fts fts_squat acl imap_acl expire mail_log autocreate mail_plugins(managesieve): mail_plugin_dir(default): /usr/lib/dovecot/modules/imap mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap mail_plugin_dir(managesieve): /usr/lib/dovecot/modules/managesieve mail_log_max_lines_per_sec: 0 imap_client_workarounds(default): outlook-idle delay-newmail imap_client_workarounds(imap): outlook-idle delay-newmail imap_client_workarounds(managesieve): namespace: type: private separator: / location: maildir:/srv/mail/%Ld/%Ln/ inbox: yes list: yes subscriptions: yes namespace: type: shared separator: / prefix: shared/%%u/ location: maildir:/srv/mail/%%d/%%n/:INDEX=~/shared/%%u list: children auth default: mechanisms: plain login master_user_separator: * verbose: yes debug: yes passdb: driver: passwd-file args: /etc/dovecot/passwd.masterusers pass: yes master: yes passdb: driver: sql args: /etc/dovecot/dovecot-sql-master.conf pass: yes master: yes passdb: driver: sql args: /etc/dovecot/dovecot-sql.conf userdb: driver: sql args: /etc/dovecot/dovecot-sql.conf socket: type: listen client: path: /var/spool/postfix/private/auth mode: 432 user: postfix group: postfix master: path: /var/run/dovecot/auth-master mode: 384 user: vmail group: vmail plugin: convert_mail: maildir:/srv/mail/%d/%n fts: squat quota_warning: storage=95%% /usr/local/bin/quota-warning.sh 95 quota_warning2: storage=80%% /usr/local/bin/quota-warning.sh 80 quota: dict:user::proxy::quota quota_rule: *:storage=1GB quota_rule2: Trash:storage=10%% quota_rule3: spam:storage=20%% acl: vfile acl_shared_dict: file:/srv/mail/%d/shared-mailboxes.db expire: Trash/* 7 Spam 30 spam 7 expire_dict: proxy::expire mail_log_events: delete undelete expunge copy mailbox_delete mailbox_rename append mail_log_fields: uid box msgid size from subject sieve: /home/vmail/%d/%n/.dovecot.sieve sieve_dir: ~/sieve sieve_before: /home/vmail/global.sieve autocreate: Trash autocreate2: spam autosubscribe: Trash autosubscribe2: spam dict: quota: pgsql:/etc/dovecot/dovecot-dict-sql-quota.conf expire: pgsql:/etc/dovecot/dovecot-dict-sql-expire.conf
Any ideas on what am i doing wrong are welcome