概括:

概括:

Dovecot我已经在我的邮件服务器上设置了Postfix。我的邮件服务器使用的Maildir格式:

home_mailbox = Mail/inbox/

用户的邮件目录如下所示:

$HOME/Mail/inbox
$HOME/Mail/drafts
$HOME/Mail/sent
$HOME/Mail/trash

Dovecot我已经相应设置了邮箱

mail_location = maildir:~/Mail

namespace inbox {
  mailbox drafts {
    special_use = \Drafts
  }
  mailbox sent {
    special_use = \Sent
  }
  mailbox trash {
    special_use = \Trash
  }
}

现在的问题是,Dovecot不使用定义的邮箱,而是创建自己的邮箱,名称.前面为 a 且首字母大写:

$HOME/Mail/.Drafts
$HOME/Mail/.Sent
$HOME/Mail/.Trash

$HOME/Mail/inbox此外,它不使用as inbox,而是使用$HOME/Mailas 收件箱。即它cur/new/tmp直接在 中创建目录$HOME/Mail/,而不是使用现有的$HOME/Mail/inbox

$HOME/Mail/cur
$HOME/Mail/new
$HOME/Mail/tmp

概括:

简要解释一下,我需要的是以下内容:

我有一个Maildir用于传递邮件的现有文件夹结构Postfix,以及常用文件夹(draftssent、 ...):

$HOME/Mail/inbox/{cur,new,tmp}
$HOME/Mail/drafts/{cur,new,tmp}
$HOME/Mail/sent/{cur,new,tmp}
$HOME/Mail/trash/{cur,new,tmp}

我如何知道Dovecot使用正确的目录?

答案1

默认情况下,Dovecot 使用 Maildir++ 目录布局来组织邮箱目录。这意味着所有文件夹都直接位于 ~/Maildir 目录中,并且:

~/Maildir/new, ~/Maildir/cur and ~/Maildir/tmp directories contain
the messages for INBOX.

您可以阅读有关布局的更多信息这里

因此,您抱怨的是标准行为。不过,您可以使用LAYOUT和选项来更改布局INBOX。根据需要在里面添加cur, new, :tmpInbox

$HOME/Mail/inbox/{cur,new,tmp}

您可以在中指定以下选项/etc/dovecot/conf.d/10-mail.conf

mail_location = maildir:~/Mail:INBOX=~/Mail/inbox:LAYOUT=fs

答案2

修改你的mail_location如下。

mail_location = maildir:~/Mail:LAYOUT=fs

参考:鸽舍文档

  • ~/Maildir/new~/Maildir/cur目录~/Maildir/tmp包含 的消息INBOX
  • ~/Maildir/.folder/是一个邮箱folder
  • 您还可以选择fs通过附加:LAYOUT=fs 到 来使用布局mail_location。这使得文件夹结构看起来像:~/Maildir/new~/Maildir/cur并且~/Maildir/tmp目录包含 的消息INBOX,就像 一样Maildir++~/Maildir/folder/是一个邮箱文件夹

答案3

使用 dovecot 邮件目录的最佳方法是始终通过 dovecot 打包的工具访问它们。虚拟邮箱的 postfix 和 dovecot 的组合如下。

这不是如何配置 dovecot 来理解 postfix maildirs 的答案,而是使用电子邮件目录的替代方法。您可以通过简单地移动文件来轻松过渡到这种方式,以便所有内容都位于 dovecot 期望的位置。

/etc/postfix/master.cf

dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}

/etc/postfix/main.cf:

virtual_transport = dovecot
virtual_mailbox_domains = hash:/etc/postfix/virtual/domains

/etc/postfix/虚拟/域:

example.com    none
example.net    none

(不要忘记运行postmap该文件。)

/etc/dovecot/dovecot.conf:

auth default {
    mechanisms = plain
    userdb static {
        args = uid=vmail gid=vmail home=/var/mail/%d/%n
    }
    passdb passwd-file {
        args = /etc/dovecot/passwd
    }
}

(不要忘记创建vmail带有组的用户vmail。)

/etc/dovecot/passwd:

[email protected]:{PLAIN}yoursecretpassword

当然,这一切只是一个简单的示例(源自实际配置),您可以使用任何您希望的用户后端以及任何工具来管理它。

答案4

适用于 Dovecot 2.1+

namespace {
    type = private
    separator = .
    inbox = yes
  mailbox Trash {
    auto = subscribe # autocreate and autosubscribe
    special_use = \Trash
  }
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox Junk {
    auto = subscribe
    special_use = \Junk
  }
}

您还可以添加自定义虚拟邮箱。可以在这里找到非常好的文档: http://wiki2.dovecot.org/MailboxSettings

相关内容