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/Mail
as 收件箱。即它cur/new/tmp
直接在 中创建目录$HOME/Mail/
,而不是使用现有的$HOME/Mail/inbox
:
$HOME/Mail/cur
$HOME/Mail/new
$HOME/Mail/tmp
概括:
简要解释一下,我需要的是以下内容:
我有一个Maildir
用于传递邮件的现有文件夹结构Postfix
,以及常用文件夹(drafts
、sent
、 ...):
$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
, :tmp
Inbox
$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