使用 getmail 以 mbox 格式和 Dovecot 从 Office 365 中的不同文件夹中检索电子邮件

使用 getmail 以 mbox 格式和 Dovecot 从 Office 365 中的不同文件夹中检索电子邮件

我有一个办公室 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 的所有文件夹。

https://wiki2.dovecot.org/MailboxFormat/mbox

答案1

这是正常的 – 每个 mbox 文件对应恰好一个邮箱(文件夹)。其他文件夹需要作为单独的 mbox 文件存储在~/(根据您当前的 Dovecot 配置)。

浏览后获取邮件文档,看来 getmail不支持动态创建目标邮箱。(只有“多”目标会根据收件人地址排序,但没有根据源邮箱名称排序的目标。)

还有其他工具可以克隆所有文件夹,例如:

  • imapsync(使用 IMAP→IMAP,即通过 Dovecot 本身上传消息)
  • 离线 IMAP(使用 IMAP→Maildir 或 IMAP→IMAP)

如果您确实需要 mbox 存储格式,请使用 IMAP→IMAP 同步工具并让 Dovecot 处理更新 mbox 文件(您的配置已经这样做了)。

还请考虑将文件夹位置从 更改~/~/Mail/,否则 Dovecot 将需要扫描您的整个主目录只是为了确定您有哪些文件夹。

相关内容