web-dev-qa-db-ja.com

リモートで削除されたときにIMAPメッセージをローカルに保持する

IMAPを介して電話とコンピューターからメールを使用します。携帯電話でメッセージを削除しても、コンピュータでローカルにメッセージが保持されるように設定したいのですが。

たとえば、同期間隔を5分にしてコンピューターの電源を入れたままにします。電話から何かを送信できるようにしたいので、コンピューターが[送信済み]フォルダーからアイテムをダウンロードしたことを確認するまで5分待ちます、それから私の電話を介してIMAP送信済みフォルダから削除しますが、自宅のコンピュータにコピーを保持させます

これは、すぐに利用できる電子メールクライアントがあれば可能ですか?私は現在ThunderbirdとOutlookを持っていますが、この機能の新しいインターフェースを学びたいと思っています。どうすればこれを達成できますか?

RedGrittyBrickのコメントに応じて:

目的は、アカウントを通過するすべてのメッセージの完全な自動(オフライン)バックアップを維持することです。さまざまな理由により、特定のメッセージはIMAPサーバーに残っていない場合がありますが、オフラインストレージに保持する必要があります。

12
user74328

質問者は、私がほとんど書かれていない中で見た最も重要なトピックをブローチしました。要点:メールプロバイダーのポリシーや設定に関係なく、メールの永続的なコレクションを維持する方法。

==============

POPプロトコル

POPプロトコルの利点は、操作が単純でわかりやすいことです。 POPプロトコルを使用して、OutlookやThunderbirdなどの電子メールクライアントは、サーバーで受信した自分の名前のすべての電子メールをダウンロードし、オプションで同時に削除し、後で削除します。またはまったくしません。たとえば、POPを使用するようにOutlookで設定されたメールアカウントは、サーバーメールのすべての新しいメールをダウンロードし、ローカルコンピューターのPSTファイルに保存します。 ThunderbirdはPOPをほとんど同じ方法で処理します。 POPを使用すると、いつでもすべてのメールを利用できます。

ここから送信しない:

POPプロトコルの最も一般的な欠点は、片道の旅行であることです。デバイスの電子メールクライアントがサーバーから電子メールをフェッチし、それだけです。作成して他の人に送信するメールは、送信SMTPサーバーを介して送信されます。送信サーバーは、メールを世界中に転送するだけです。メールボックスにアクセスすることはありません。クライアントオプションがそうするように設定されている場合、送信された電子メールのコピーをそのデバイスのSENTフォルダーに保存するのは、電子メールクライアントです。送信メールクライアントは他のデバイスを認識せず、接続できない可能性が高いため、メールクライアントはもちろんのこと、SENTメールは他のクライアントに知られずに送信マシンに残ります。

============

IMAPに入る

IMAP(Internet Mail Access Protocol)と呼ばれる新しいプロトコルは、使用しているデバイスに関係なく、複数のデバイスが同じものを見ることができるようにします。クライアントがIMAP経由でメールアカウントに接続すると、クライアントとサーバーは双方向で通信します。 Microsoft ExchangeやLotus Notesと同様に、IMAPはクライアント上の電子メールとフォルダーをそれらとサーバーと同期します。したがって、3つのデバイスのそれぞれから1つのメッセージを送信した場合、3つのクライアントすべてが、SENTフォルダー内の3つの電子メールをすべて表示します。 TRASHで削除されたメールやARCHIVEフォルダーに保存されたメールも同様です。

楽園でのトラブル:

IMAPの欠点は、IMAPの動作の定義がサーバーと電子メールクライアントの間でかなり異なることです。たとえば、IMAPを使用するメールクライアントは通常、すべてのメールをダウンロードして保持しません。代わりに、IMAPサーバーはメールの所有者になることを目的としています。 IMAPメールクライアントは、通常はすべてではなく、設定された数のメールのみを同期します。

また、クライアントが表示する内容と、サーバーがメールを保持する期間(および期間)についても、ルールは曖昧です。これは、ほとんどの電子メールを常にどこかに保管する必要があり、どこにあるかを知っている専門家のためのショートッパーです。 Google、Microsoft、Yahoo、GoDaddy、1&1、Comcast、ATT、Verizonなどが保持ルールをいつ変更するかは誰にもわかりません。そのような技術の詳細はほとんど描写されていません。

必要なのは、POPとIMAPの両方の長所を取り入れた方法論です。私たちはすでに、Exchange Serverの形でそのような獣を飼っています。また、Lotus Notesと呼ばれる混乱する沼もあります。両方とも、サーバー上のすべてをローカルクライアントとミラーリング(つまり、同期または複製)します。逆も同様です。

悲しいかな、どちらのサーバーも非常に高価で複雑であり、日常のユーザー向けではありません。 Outlookは、ただし、そのような獣で動作します。マイクロソフトは現在、大衆向けのマルチテナントExchangeサーバーであるOutlook.comを推進しています。 GoDaddyなどのインターネットサービスプロバイダーは、現在、Exchangeのメールボックスをプレベリア人に提供するサードパーティとして機能しています。

シンプルだが不完全な回避策:

サーバーが両方をサポートしている場合、両方の世界で最高のものに近いものを取得する1つの方法は、両方のプロトコルを使用することです。実際のコンピューターではOutlookまたはThunderbirdアカウントにPOPを、かわいいPDAではIMAPを使用します。 AndroidおよびAppleには、IMAPを処理する複数の電子メールクライアントがあります。

このシナリオでは、PCがPOPを使用してメールをフェッチし、サーバーからすべてのメールをダウンロードしてアーカイブする場合があります。また、クライアントがサーバーのメールをすぐに削除しないように設定して、IMAPを使用するデバイスがしばらくの間メールを表示できるようにします。 PCクライアントを「メールをサーバーにx日間残す」ように設定します。 90日に設定しました。このようにして、私のPC Outlookは最終的に新しいメールに接続してプルし、サーバーに90日以上経過したメールを削除するように指示します。

この回避策は、サーバー上に作成したフォルダーをまだ処理しません。 IMAPのみがフォルダーを両方の方法でフェッチして複製します。フォルダとは、TRASH、SENT、ARCHIVEなどを意味します。あなたがフォルダの奇抜者でない限り、おそらくSENTフォルダについて最も心配しています。つまり、目の前のマシンからだけでなく、すべてのマシンがすべてのマシンが送信したものを確認する必要があります。

SENTフォルダを複製する最も簡単な方法は、自分に送り返すものをすべてブラインドコピー(BCC)することです。これは通常、新しいメールを送信するときに手動で行われます。一部のクライアントはこれについて賢くなっています。 Androidの優れたK9メールクライアントには、送信するすべてのメールのBCCフィールドに自分を自動的に追加する設定オプションがあります。そうすることで、送信したものはすべて、別の受信者として受信されます。その後、プロトコルに関係なく、すべてのデバイスが常に新しいメールを受信するため、送信メールをすべてのデバイスで効果的に複製できました。

BCCトリックは完璧ではありません。自分でBBCを送信したすべての電子メールは、ローカルのSENTフォルダではなく、すべてのクライアントの受信トレイに届きます。 Outlookの高度なルールメカニズムは、アドレスがSENDTOとBCCの両方のフィールドにあるすべての新しい電子メールをチェックすることで、これを修正するのにも役立ちます。

うまくいけば、IMAPはPOPとIMAPの両方のすべての機能を許可するように進化し、すべてのフォルダーを含むすべてのメールがクライアントにダウンロードされるようになります。

ハイブリッドソリューション:

2台のPC(Wintel + Apple)と2台のPDA(Android携帯電話とタブレット)があるとします。

  1. OutlookまたはThunderbirdでPOPを使用してフェッチするようにPCを設定します。 a。プロトコルをPOPに設定します。サーバー上のメールの削除をx日間設定します。 (私は90を使用します)。 c。送信するメールで自動的にBCCを実行する設定を探します。

  2. IMAPを使用してフェッチするようにAndroidを設定します。 PDA、タブレット、スマートフォンにはメモリの問題があることが多いため、デバイスに保持する内容を制限するIMAPの方が適しています。

少しお役に立てば幸いです。

10
XOR42

スマートフォンに加えて、メインとバックアップ用の2つのコンピューター、または旅行用のラップトップ、または別のOSがあるとします。また、IMAPサーバー上の一部(またはすべて)のメールは、オフラインフォルダーに保存して保存する必要があります。

両方のコンピューターをオンラインで稼働させます。 1台のコンピューターで、IMAPサーバーに保存するメールをオフラインフォルダーにコピーします。コピー操作が成功したことを確認してください。一部のシステムとサーバーでは、コピーはオフラインまたは他の制限がある場合にのみ機能します。次に、手動で同期を保証するために、2台目のコンピューターに一部の電子メールのみを保存する場合は、それらの同じ電子メールをオフラインで同じオフラインフォルダーに移動します。

重要なメールをこのように保存することは重要です。時々IMAPサーバーがメールの一部(またはすべて)を失う可能性があるため、「同期」によってデータが大幅に失われる可能性があるためです。せいぜい、多くのIMAPサーバーにはクォータまたは古いメール削除ポリシーがあり、データが失われる可能性があります。また、物理的な移動後のパスワード、ISPアカウントの変更、新しいシステムへの移行(またはオペレーティングシステムのアップグレード)などの「リセット」により、サーバー上のメールが失われる可能性があります。

別の方法として、1台のコンピューターのIMAPサーバーにあるすべての電子メール(または特定の日付より前などの覚えやすいサブセット)をコピーし、後で都合のよいときに「ミラー」オフラインフォルダーにオフラインで移動します。次に、後で暇なときに同期について心配します。これに関する問題は、電子メールが移動されるたびに、プログラムが誤動作してデータが失われるリスクがあることです。これは間違いなくApple Mailの問題です(私の意見では、Appleの最悪のソフトウェアアプリケーションで、他の点では優れたOSパッケージです)。)

私は、POPは少なくともメールプロバイダー(Yahoo!で真実であることが知られている)では安全性が低いと見なされていることを発見しました。これにより、POPはこのポリシーを備えたソリューションとしてはるかに魅力的なサーバーを使用しなくなります。

0
Robert Riggs

私は同様の効果をより簡単に達成できると思います

  1. 常に自分自身をBCC
  2. 送信済みのものを送信済みフォルダに追加しないように電話を設定する
0
RedGrittyBrick

達成しようとしていることの危険性は、コンピューターからIMAPサーバーへの接続が失敗した場合、送信されたメッセージが失われる可能性があることです。また、異なるマシンから同時にアクセスする場合、IMAPは正常に機能するはずですが、一部の実装は適切に動作しません。

これは、Thunderbirdで可能な解決策は次のとおりです:電子メールアカウントを独自のフォルダー(ローカルフォルダーではない)を使用するように設定します。次に、指定したフォルダーを設定します。たとえば、ローカルフォルダーにsaved-sent-from-imapと入力します。これは、送信されたメッセージが保持される場所です。このフォルダはIMAPサーバー上にないことに注意してください。 IMAP Sent(実際の名前が何であれ)フォルダーの[このアカウントの新しいメッセージを取得するときは、常にこのフォルダーを確認する]がオンになっていることを確認してください。次に、フィルターを設定して、すべてのメッセージをIMAP Sentフォルダーからsaved-sent-from-imapに移動します。

編集:この方法では、送信したメッセージを電話から削除する必要はありません。したがって、ローカルフォルダに移動さ​​れていないメッセージを誤って削除することはありません。

0
lupincho

原則として、いいえ。 IMAPの要点は、サーバーにメールの信頼できるコピーが含まれていること、およびクライアントがメッセージをまったく保存している場合は、他の理由(インデックス作成やパフォーマンスなど)のためにそれらを単にキャッシュしていることです。

メールをアーカイブする場合は、その使命に特化したものを見つけるのが最善です。 MailStore のようなツールは、このために設計されています。

Thunderbird、Outlook、または他の多くのクライアントを悪用して、組み込みのルール/スクリプト/フィルターシステムを使用して、すべての新しいIMAPメッセージをローカルフォルダーにコピーする可能性があります。

自分のPCでIMAPサーバー( hMailServer など)を実行してから、ツールを使用して、宛先から欠落しているメッセージを削除せずにすべてをそれにコピーできます。 ( imapsync これを行う可能性があります、コンパイルされたWindowsバージョンが利用可能 here ; BaGoMa または他のツールもこのためにサービスに組み込まれる可能性があります)

0
afrazier