我已经设置了强制实施 SSL 的 Postfix + Dovecot,并且在使用 mailutils 测试时,我能够向我的 gmail 发送电子邮件,但是当我尝试回复时,我的服务器却没有收到它们。
使用 openssl 我成功登录到 imap 服务器
01 LOGIN [email protected] mypassword
从中我得到了
01 OK ....... Logged in
但随后我在服务器上的系统日志中收到以下内容
Jul 21 20:51:21 localhost dovecot: imap-login: Login: user=<[email protected]>, method=PLAIN, rip=99.99.99.99, lip=98.98.98.98, mpid=XXXXX, TLS, session=<R4ND0MSTRINGY>
Jul 21 20:51:21 localhost dovecot: imap([email protected])<XXXXX><R4ND0MSTRINGY>: Error: chdir(/var/mail/vhosts/example.com/myname) failed: Not a directory
我检查了那个文件,它在那里,但它不是一个目录。据我所知,它只是一个空文件。有人知道我的配置可能哪里错了吗?提前谢谢大家。
答案1
首先,您必须确保已为 Dovecot 服务器配置了 MAILDIR 类型的存储。在 /etc/dovecot/conf.d/10-mail.conf 中,这是参数
mail_location = maildir:/var/vmail/vhosts/%d/%n
在哪里邮件目录是指定存储类型的关键字。
其次,你必须创建一个存储目录
/var/mail/vhosts/example.com/myname
手动,具有适当的所有权、权限和 SELinux 标签,或者只是向该地址发送一些信件,比如一些简单的问候语“恭喜,[电子邮件保护],您的邮箱已创建”,并且该目录将由 dovecot 为您创建。
MailDir 类型的存储需要目录来将每条消息存储在文件中。MailDir 与旧式 MaiBox 存储类型的主要区别在于,MailDir 将所有消息都存储在一个巨大的平面文件中。