複数のフォルダー(メールボックス)を持つOffice 365アカウントを持っています。 getmailを使用すると、次の構成ですべてのメールボックスからすべての電子メールを取得できます。
[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/mail/userのすべてのメールをmboxの形式でダウンロードします。この形式は、Dovecot1 でサポートされています。これらの電子メールをmboxファイルから取得し、Dovecotを介して表示するための私の構成)サーバーは次のとおりです。
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-retrieved-from-mailboxを追加していることがわかりました。しかし、IMAP経由でdovecotにアクセスすると、Office 365のような各フォルダーではなく、受信ボックスにすべての電子メールが表示されます。使用しているMUA(メールユーザーエージェント)はRoundcube。私の質問は、getmailとmbox形式を使用してDovecotでOffice365のすべてのフォルダーを表示するにはどうすればよいですか。
これは正常です–各mboxファイルは正確に1つのメールボックス(フォルダー)に対応します。追加のフォルダは、(現在のDovecot構成に従って)~/
の下に個別のmboxファイルとして保存する必要があります。
getmailのドキュメントをざっと読んだ後、getmail サポートしていません宛先メールボックスを動的に作成しているようです。 (受信者のアドレスに従ってソートされる「マルチ」宛先のみがありますが、送信元メールボックス名に従ってソートされる宛先はありません。)
たとえば、すべてのフォルダのクローンを作成できる他のツールがあります。
Mboxストレージ形式がどうしても必要な場合は、IMAP→IMAP同期ツールを使用して、Dovecotにmboxファイルの更新を処理させます(構成で既に行っているように)。
フォルダの場所を~/
から~/Mail/
に変更することも検討してください。そうしないと、Dovecotはホームディレクトリ全体をスキャンする必要があります。あなたが持っているフォルダを決定します。