让 courier 自动创建 maildir

让 courier 自动创建 maildir

我目前正在使用 postfix 和 courier 设置电子邮件服务器。

postfix 配置为将电子邮件帐户检查到 MySQL 数据库中。例如,当我向“[电子邮件保护]",postfix 检查“john.doe”是否在数据库中,并将邮件写入/var/mail/vhosts/john.doe/。如果此 maildir 不存在,postfix 会创建它。

courier(POP/IMAP 服务器)也配置为通过 MySQL 进行身份验证。当我连接到我的服务器并使用“john.doe”进行身份验证时,courier 会查看相同的 MySQL 数据库并知道电子邮件位于/var/mail/vhosts/john.doe/

问题是,如果目录不存在,Courier 将返回错误消息,对于每个尚未收到电子邮件的新创建帐户,都会发生这种情况。错误很简单:“chdir() 目录 /var/mail/vhosts/john.doe/ 失败”。

当我想创建一个电子邮件帐户时,我必须将其添加到数据库中创建相应的目录。但是,如果可能的话,我想避免访问文件系统。

有没有办法让快递员自动创建目录,或者如果目录不存在则返回“收件箱中没有电子邮件”?

答案1

不可能出现“收件箱中没有电子邮件”的错误,因为没有收件箱,服务器也不知道该做什么。

您已经知道正确的解决方案。只需在创建帐户时创建文件夹即可。

但是,我理解,您不想在创建帐户时弄乱文件系统。不过,您可能想给Postfix管理员看一下,它可以帮助这个过程。

如果您确实不想接触文件系统,只需向用户发送一封欢迎电子邮件。Postfix 将收到该邮件,然后 Postfix 将创建目录。

相关内容