[Dovecot] Separate home and mail folders problem on delivery

Николай Николай
Tue May 19 11:10:06 EEST 2009


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 at 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 at 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 at grandstarco.com): Error: copy: i_stream_read() failed: No such file or directory
> 2009-05-19 10:47:28 deliver(office at grandstarco.com): Error: sieve: msgid=<1242716935.24056.6.camel at 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 at 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



More information about the dovecot mailing list