我正在尝试设置虚拟邮箱。不是虚拟用户帐户,而是用户帐户中的虚拟文件夹。
这是为了更好地管理传入邮件。有点像 Gmail 的标签。
这应该是超级易于启用。只需添加一个命名空间
namespace virtual {
prefix = virtual.
separator = .
location = virtual:~/Maildir/virtual:LAYOUT=maildir++
}
然后将邮箱添加到命名空间
namespace virtual {
mailbox "All mail" {
special_use = \All
auto = subscribe
comment = All my messages
}
}
并启用虚拟插件mail_plugins = $mail_plugins virtual
一切都很好,但我在日志中收到错误
Error: Failed to autocreate mailbox virtual.All Mail: Can't create virtual mailboxes
我不明白为什么,也找不到有关该问题的任何内容。
我的猜测是权限问题,但是再次创建了virtual
位于的目录,~/Maildir/virtual
但它~/Maildir/virtual.All mail
似乎存在问题。
如果是权限问题,我应该检查哪里?我应该在配置中修改什么?
感谢您的帮助
编辑
好吧,我仍然需要帮助来理解这一点。但我设法让事情发生,感谢此邮件列表消息
似乎即使是,LAYOUT
您也maildir++
需要在 等结构下构建虚拟文件夹virtual/All
(virtual/Work
这是虚拟文件夹的默认设置LAYOUT=fs
。但是,您必须使用整个配置文件中的结构.
符号来引用它们。maildir++
要么我不明白什么,要么这是一个错误。
virtual:~/Maildir/virtual
另一个奇怪的行为是,除了工作我似乎无法得到任何其他东西。这意味着如果我想将虚拟文件夹命名为其他名称,virtual
邮件客户端似乎不会选择它。
最后,我的印象是,如果您将 好吧,我想重新阅读文档,如果隐藏名称空间,则不会列出任何子项。但是,如果我们无法访问命名空间,那么隐藏它们的目的是什么?list = children
和hidden = true
放在您的命名空间下,您将不会virtual
在邮件客户端中看到实际的文件夹作为父文件夹,而只会看到子虚拟文件夹。
编辑
我忘了提及,如果虚拟文件夹不存在,即使auto = subscribe
设置了,Dovecot 也不会创建虚拟文件夹。如果我从命令行创建它,它会显示它。这是一件很痛苦的事!
因此,如果有人可以在这里阐明这个(相当长)问题的任何部分,我们将不胜感激。
答案1
我猜你缺少 dovecot-virtual 文件。你必须在这个特殊文件中向 Dovecot 提供有关如何为虚拟文件夹选择邮件的说明。在你的情况下,此文件的正确位置是大概 ~/Maildir/virtual."All mail".dovecot-virtual
。
我这么说的原因可能是我不确定 Dovecot 和您的文件系统是否能够正确处理该文件路径中的空白字符。我建议您从不包含空格字符的虚拟文件夹名称开始,例如:Allmail。正确配置所有内容后,您可以将“所有邮件”更改为“所有邮件”,然后查看空格字符是否会破坏内容。
dovecot-virtual 文件的内容应该是这样的:
*
all
或者,如果您想排除某些文件夹,例如“垃圾邮件”、“垃圾邮件”和“垃圾邮件”,您可以使用如下命令:
*
-INBOX/Trash
-INBOX/Trash/*
-INBOX/Spam
-INBOX/Spam/*
-INBOX/Junk
-INBOX/Junk/*
all
有关如何配置 dovecot-virtual 文件和虚拟文件夹的更多信息,请参阅鸽舍文档。