我有一个办公室 365拥有多个文件夹(邮箱)的帐户。使用获取邮件我可以使用以下配置从所有邮箱检索所有电子邮件:
[retriever]
type=SimpleIMAPSSLRetriever
server=<server>
port=<port>
username=<user>
password=<passwd>
mailboxes=ALL
[destination]
type=Mboxrd
path=/var/mail/user
user=<user>
[options]
verbose=0
read_all=false
delete=false
delete_after=0
delete_bigger_than=0
max_bytes_per_session=0
max_message_size=0
max_messages_per_session=0
delivered_to=false
received=false
message_log=/home/user/getmail.log
message_log_syslog=false
message_log_verbose=true
它会下载所有电子邮件/var/邮件/用户带格式框. 支持此格式多夫科特 1。我的配置是从框文件并通过显示它们多夫科特服务器如下:
disable_plaintext_auth = no
mail_privileged_group = mail
mail_location = mbox:~/:INBOX=/var/mail/%u
ssl = no
protocols = "imap"
listen = 127.0.0.1
userdb {
driver = passwd
}
passdb {
args = %s
driver = pam
}
protocol imap {
}
它可以工作并显示所有电子邮件,但问题是 Dovecot 不知道每封电子邮件的邮箱是什么。我查看了 mbox 文件,发现 getmail 添加了标题X-getmail 从 mailbo 中检索x。但当我通过 IMAP 访问 dovecot 时,我看到收件箱中的所有电子邮件,而不是像 Office 365 那样在每个文件夹中。我使用的 MUA(邮件用户代理)是圆立方体。我的问题是如何使用 getmail 和 mbox 格式在 Dovecot 中显示 Office 365 的所有文件夹。
答案1
这是正常的 – 每个 mbox 文件对应恰好一个邮箱(文件夹)。其他文件夹需要作为单独的 mbox 文件存储在~/
(根据您当前的 Dovecot 配置)。
浏览后获取邮件文档,看来 getmail不支持动态创建目标邮箱。(只有“多”目标会根据收件人地址排序,但没有根据源邮箱名称排序的目标。)
还有其他工具可以克隆所有文件夹,例如:
- imapsync(使用 IMAP→IMAP,即通过 Dovecot 本身上传消息)
- 离线 IMAP(使用 IMAP→Maildir 或 IMAP→IMAP)
如果您确实需要 mbox 存储格式,请使用 IMAP→IMAP 同步工具并让 Dovecot 处理更新 mbox 文件(您的配置已经这样做了)。
还请考虑将文件夹位置从 更改~/
为~/Mail/
,否则 Dovecot 将需要扫描您的整个主目录只是为了确定您有哪些文件夹。