postfix 配置:将旧机器的新电子邮件放在哪里?

postfix 配置:将旧机器的新电子邮件放在哪里?

我正在使用 CentOS 6.4/postfix/dovecot 构建一个新的电子邮件服务器。它需要支持主要是 XP 的客户端(Outlook Express、Thunderbird 等)。

我该如何设置home_mailbox(postfix) 和mail_location(dovecot) 参数来支持这些较旧的 IMAP 客户端?他们在哪里查找要显示的新邮件?

home_mailbox = mbox目前有,并且它正在将电子邮件放入 mbox 文件中(或看起来如此)。如何设置 dovecot 来查找新电子邮件?

答案1

您应该配置 Postfix 使用 Dovecot LMTP 或 Dovecot LDA 来发送电子邮件 - 因此 dovecot 会存储电子邮件,而 postfix 应该只验证 SMTP 传入流量并将电子邮件交给 Dovecot 进行存储。

mail_location在 dovecot 中可以有许多不同的值,具体取决于您喜欢哪种类型的邮箱(mdbox、sdbox、maildir 等)。我建议使用 dbox(mdbox/sdbox),但您可以自行选择最适合您需求的邮箱。

Dovecot 的 wiki 上对所有内容都有很好的解释。请参阅http://wiki2.dovecot.org/LDA/Postfixhttp://wiki2.dovecot.org/MailboxFormat/

编辑:

1)您需要将 Postfix 配置为使用 SMTP 接受电子邮件,检查其中是否存在垃圾邮件等,并最终决定对给定的传入电子邮件使用哪种传输方式(延迟、拒绝、另一个 SMTP 服务器、本地传送等)

2)配置 dovecot 来监听 LMTP 连接,在 Gentoo 上它位于文件 conf.d/10-master.conf 中:

service lmtp {
    unix_listener /var/spool/postfix/private/dovecot-lmtp {
        mode = 0600
        user = postfix
        group = postfix
    }
}

(在conf.d/20-lmtp.conf中您可以修改dovecot的LMTP协议,例如启用筛选过滤)

3) 无论您使用什么配置,Postfix 的电子邮件传输(应存储到 dovecot)应类似如下:

virtual_transport = lmtp:unix:$queue_directory/private/dovecot-lmtp

这会将电子邮件传输到 Dovecot 的 LMTP,然后 Dovecot 会根据 passdb / userdb 验证收件人并最终存储它。

这是 LMTP 方法,旧的 LDA 在 Dovecot 的配置中几乎相同,而在 Postfix 方面略有不同。

关于mail_location:

Dovecot 与本地客户端的数据库 userdb / passdb 一起工作;它可以有许多来源、纯文本文件、系统文件或来自 SQL 的用户。

userdb / passwd 都可以指示每个用户的 mail_location,或者可以为所有用户设置全局设置,例如:

mail_location = mdbox:~/mdbox

这意味着所有用户的电子邮件都应以 mdbox 格式存储到用户主目录中的“mdbox”目录。

用户的主页通过 mail_home 定义,例如

mail_home = /var/spool/mail/%d/%n (translates to /var/spool/mail/example.com/user)

或者

mail_home = /var/mail/%u (translates to /var/mail/[email protected])

相关内容