Dovecot 虚拟邮箱问题。无法创建虚拟邮箱

Dovecot 虚拟邮箱问题。无法创建虚拟邮箱

我正在尝试设置虚拟邮箱。不是虚拟用户帐户,而是用户帐户中的虚拟文件夹。

这是为了更好地管理传入邮件。有点像 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/Allvirtual/Work这是虚拟文件夹的默认设置LAYOUT=fs。但是,您必须使用整个配置文件中的结构.符号来引用它们。maildir++

要么我不明白什么,要么这是一个错误。

virtual:~/Maildir/virtual另一个奇怪的行为是,除了工作我似乎无法得到任何其他东西。这意味着如果我想将虚拟文件夹命名为其他名称,virtual邮件客户端似乎不会选择它。

最后,我的印象是,如果您将list = childrenhidden = 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 文件和虚拟文件夹的更多信息,请参阅鸽舍文档

相关内容