web-dev-qa-db-ja.com

offsetimapは一方向の同期を行うことができますか?

私はそこにある無料のウェブメールサービスが好きですが、これらの製品の1つに何年ものメールが縛られているのは嫌いです。

メールボックスをローカルにキャッシュする方法を探していますが、ローカルにインストールされたimapクライアントからアクセスできます。

offlineimap を見ました。これは、双方向の同期を行うことを除けば見栄えがします。メールがGmailで削除されると、ローカルコピーでも削除されます。新しいメッセージがローカルにコピーされ、リモートソースから削除される、従来のポップアクセスのように見えるように構成する方法はないようです。

誰かが以前にこのようなことをしたことがありますか?私はimapに縛られていません。ポップベースのソリューションがそこにあるなら、私はすべての耳です。私はubuntu11.10を使用しています。

7
txyoji

あなたが説明する現在の振る舞い「一方向同期」と呼ばれます–削除を含む一方の変更はすべて、もう一方の側に伝播されます。

永続キャッシュについては、 getmail または fetchmail を調べてください。

#〜/ .getmail/getmailrc
 [retriever] 
 type = SimpleIMAPSSLRetriever 
 server = imap.gmail.com 
 username = ... 
 password = ... 
 [destination] 
 type = Maildir 
 path =〜/ backup/gmail 

これらのプログラムはどちらもIMAPおよびPOP3メールボックスからのフェッチをサポートしていますが、通常はIMAPが推奨されます。

4
user1686

オフラインIMAPは、readonly = Trueオプションを使用して、一方向の同期(実際のメールサーバーのメールボックスへの更新なし)をサポートします。公式GitHubリポジトリの サンプル構成ファイル を参照してください。

したがって、.offlineimap構成ファイルには次のものが含まれている必要があります。

[Repository Gmailserver-foo]
#This is the remote repository
type = Gmail
remotepass = XXX
remoteuser = XXX
readonly = true
12
Leafy

これは、あるGmailアカウントから別のGmailアカウントへの一方向同期を行うために使用される私の構成ファイルです

[general]
accounts = GmailMigration
socktimeout = 600
maxsize = 25000000

[Account GmailMigration]
localrepository = sourceAccount
remoterepository = dstAccount

[Repository sourceAccount]
type = IMAP
remotehost = imap.gmail.com
remoteport = 993
remoteuser = ...
remotepass = ...
ssl = yes
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
readonly = true

[Repository dstAccount]
type = IMAP
remotehost = imap.gmail.com
remoteport = 993
remoteuser = ...
remotepass = ...
ssl = yes
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
3
pelotasplus

基本的に必要なのはメールのアーカイブです。これを実現する1つの方法は、現在のメールアカウントから別のメールアカウントにメールを自動的に転送できることです。すべての無料メールサービスのほとんどがこの機能を提供します。次に、この2番目のメールボックスをローカルで同期するようにofflineimapを設定します。また、この2番目のメールボックスからメールを削除しないでください。このメールボックスはアーカイブにのみ使用してください。

1
Sachin Divekar