我正在尝试设置一个邮件服务器,我看了很多关于如何使用 ++ 进行此操作的教程,Postfix
但没有一个是无错误的,而且我总是在某个时候遇到错误,所以我决定自己一步一步地配置邮件服务器,到目前为止,我已经安装并作为我的 postfix 管理界面,我设法将数据库与 Postfix 链接起来,一切都很好,除了一个! Postfix 不会自动为收到的邮件创建 Maildir。dovecot
MySQL
Postfix
ViMbAdmin
以下是mail.log
收到的电子邮件的示例输出:
postfix/smtpd[22086]: connect from mail-lf0-f45.google.com[209.85.215.45]
postfix/smtpd[22086]: C92B461E5B: client=mail-lf0-f45.google.com[209.85.215.45]
postfix/cleanup[22090]: C92B461E5B: message-id=<[email protected]>
postfix/qmgr[21732]: C92B461E5B: from=<[email protected]>, size=4535, nrcpt=1 (queue active)
postfix/virtual[22080]: C92B461E5B: to=<[email protected]>, orig_to=<[email protected]>, relay=virtual, delay=0.13, delays=0.13/0/0/0, dsn=4.2.0, status=deferred (delivery failed to mailbox /var/mail/vhosts/XXX.net/BLAH-RCVR/mail: unable to create lock file /var/mail/vhosts/XXX.net/BLAH-RCVR/mail.lock: No such file or directory)
postfix/smtpd[22086]: disconnect from mail-lf0-f45.google.com[209.85.215.45]
如果我手动创建/var/mail/vhosts/XXX.net/BLAH-RCVR/
目录,一切都会顺利。我希望应用程序自动创建目录,这样我就不必为系统中添加的每个用户都创建目录!
我在这里遗漏了什么?
PS:我已仔细检查了 postfix 的权限/var/mail/vhosts/
是否能够进入RWX
该目录。
答案1
我不知道 postfix-admin 或 ViMbAdmin,但创建 maildir 很简单:
mkdir -p $USERHOME/Maildir/{new,cur,tmp}
chown -R <mail user>,<mail group> $USERHOME/Maildir
chmod -R 700 $USERHOME/Maildir
其中 $USERHOME 是邮箱主目录(虚拟用户主目录)。
您可以编写一个简单的 bash 脚本,在每次创建新邮箱时运行,或者您可以以某种方式在 ViMbAdmin 邮箱创建过程中插入该脚本。
另一个解决方案是利用 Dovecot LMTP 服务器来传递本地邮件,而不是使用 postfix LDA(请参阅Dovecot LMTP 文档)。它可以创建邮件目录并具有更多功能(例如筛选脚本)。
问候
保罗·B.
答案2
这是 LDA(本地交付代理)的工作。
查看 Ubuntu(13.10,稍旧一点)的完整安装示例:https://github.com/opensolutions/ViMbAdmin/wiki/Mail-System-Install-on-Ubuntu
如果遵循,这绝对可以完全发挥作用:-D
并查看 LDA 的配置:https://gist.github.com/barryo/8918488#file-dovecot-15-lda-conf