为什么dovecot 2.2.13不是从新的/移动电子邮件到/ cur /?

我在Gentoo 64bit上使用dovecot 2.2.13。

当新的电子邮件到达时,它保持在新/目录,而不是被移动到cur /目录。 我读了maildir_empty_new = yes被添加到/etc/dovecot/conf.d/10-mail.conf但是不起作用。 为了工作(或者评论别的东西),我还需要取消注释其他的东西吗?

这对我来说很重要,因为只有当我用邮件客户端检查新邮件时,dovecot-uidlist才会用下一个UID更新。 我有一些procmailpipe道脚本,我需要下一个uid(我通过parsingdovecot-uidlist)。

也许我可以使用doveadm和我的pipe道脚本,以便从new /更改为cur /,然后更新dovecot-uidlist。

这是我的dovecot -n

 # 2.2.13: /etc/dovecot/dovecot.conf # OS: Linux 3.16.5-gentoo x86_64 Gentoo Base System release 2.2 auth_mechanisms = plain login digest-md5 first_valid_gid = 500 last_valid_gid = 2000 last_valid_uid = 2000 login_greeting = Santa server is ready. mail_gid = vmail mail_location = /var/vmail/%d/%n/:INDEX=/var/vmail/%d/%n/indexes mail_uid = vmail maildir_empty_new = yes managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave duplicate namespace inbox { inbox = yes location = mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = } passdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } plugin { sieve = ~/.dovecot.sieve sieve_dir = ~/sieve } service auth-worker { user = vmail } service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0666 user = postfix } unix_listener auth-userdb { group = vmail mode = 0666 user = vmail } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0666 user = postfix } } ssl_ca = </etc/ssl/dovecot/server.in.crt ssl_cert = </etc/ssl/dovecot/server.csr.rapid ssl_key = </etc/ssl/dovecot/server.key.rapid ssl_key_password = pass userdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } 

UPDATE

我在dovecot网站上find了这个:

〜/ Maildir / new,〜/ Maildir / cur和〜/ Maildir / tmp目录包含INBOX的消息。 tmp目录在传递过程中使用,新消息到达新的读取应该被客户端移动到cur。

因此,将新的信息传递给目标并不是默认的dovecot行为。

如果我可以用手动的方式做手动,但是更新dovecot-uidlist,那将是非常棒的。

如果你想使用maildir格式,你需要在你的configuration中指定。 尝试改变:

 mail_location = /var/vmail/%d/%n/:INDEX=/var/vmail/%d/%n/indexes 

至:

 mail_location = maildir:/var/vmail/%d/%n/:INDEX=/var/vmail/%d/%n/indexes 

我用指定为$HOME/Maildir/ MAILDIR使用procmail。 邮件被传送到$HOME/Maildir/new名称,如1417748317.25141_1.myhost 。 当我select邮件时,dovecot将它们移动到$HOME/Maildir/new然后附加:2,到文件名。 当文件被读取时,标志被追加。 我不需要知道dovecot的uid来处理这些消息。 我有procmail筛选邮件到其他邮箱,这些处理得很好,不知道该文件夹的dovecot的UID。