IMAP接続でGmailとApple Mailとうまく同期させる

Update

GmailのIMAP受信メールをApple Mailとうまく同期させる

Gmailがいつの間にかIMAP対応していた。今まで確か英語アカウントにしないと、設定欄が表示されていなかったが、日本語アカウントでもOKになった模様。未読状況などを同期するのを目的に、早速IMAPに切り替えてみたところ、かなり大きい弊害にぶち当たった。それは、自分のメール環境は、少々独特なせいかもしれない。現環境は、会社のOutlookをGmailに転送しておいて、携帯や自宅のApple Mail、Webで確認するようにしているのだが、どうもApple Mailに設定したルールの挙動がおかしい。それはIMAP上のメールを一度ローカルに保存してから、ルールが適応されるせいで、未開封のみ表示するスマートフォルダが全然スマートじゃなくなってしまった。

「何とか解決できねーかな」と小一時間(実際には2時間ぐらい)、これでもねー、あれでもねーと繰り返し、若干ぶち切れそうになりながらも、なんとか解決できたので、今回はその後報告を。果たしてこの手法を有効利用してくれるMacユーザーはいらっしゃるのでしょうか。なお、今回はLeopard(Mac OS X 10.5.1)の環境での作業を紹介するが、それ以前の環境では違ってくる可能性があるので、あらかじめご了承ください。

Apple Mailの意外な落とし穴

Apple Mail ウインドウ

Apple Mailから、GmailのメールをIMAPで受信した際に、メールのコピーをローカルに保存するのがデフォルトの設定。仕様でApple Mailは、ローカルのメールとGmailのメール両方にルールを適応して分類してしまい、ローカルとGmail二つが未読メールとして表示されてしまう。結果、未開封メールを収集するスマートフォルダと、Dockのアイコンの未開封数表示がダブル現象が起こってしまう。よくよく考えると、ローカルとGmail上二つにメールがあるわけで、正常と言えば正常なのだが、これではあまりにスマートではない!!

これを打破するため、何かうまい方法はないかと、いろいろと設定を変えて試してみたところ、多少の妥協は必要だが、最もベターな方法が一つだけ見つかった。

スマートメールボックスのコラボレーション

まず、一番の妥協点を最初に書いておく。というのは、スマートメールボックスを2〜3つ追加しないといけないから。これによって、Gmailの未開封メールとローカルのGmail以外の未開封メールを同時に制御する事ができるのだが、見かけがあまりスマートではない。ユーザビリティをとるか外観をとるか、自分も本当に悩んだところだ。

スマートメールボックスのルールを変更

この方法の要のスマートメールボックスを追加していく。追加するのは、ローカル上のみの未開封メールを表示するフォルダと、IMAP上の未開封メールを表示するフォルダの二つだ。まず始めに、ローカル上のみの未開封メールを表示するフォルダを作っていく。

  1. メールのウインドウ左下の「+」から、「新規スマートメールボックス…」を選択して、スマートボックス設定画面を開く。
  2. タイトルを適当に命名。
  3. 「差出人」のプルダウンを選択して、「受信日」を選択。
  4. すべてのメールを対象にしたいので、日付を1900年など適当に設定。
  5. ルールの直下に ( + ) をクリックして、新規ルールを作成。
  6. 作成された新規ルールの左のプルダウンから、「メッセージが未開封になっている」を選択。
  7. ルールの直下に ( + ) をクリックして、新規ルールを作成。
  8. 作成された新規ルールの左のプルダウンから、「特定のメールボックスにないメッセージ」を選択。
  9. 右のプルダウンから、Gmailアカウント内の「すべてのメール」を選択。
  10. 複数のGmailを対象にしたい場合は、手順7〜9を繰り返す。
  11. ルールの直下に ( + ) をクリックして、新規ルールを作成。
  12. 作成された新規ルールの左のプルダウンから、「特定のメールボックスにないメッセージ」を選択。
  13. 右のプルダウンから、「受信」のGmailアカウントを選択。
  14. 複数のGmailを対象にしたい場合は、手順11〜13を繰り返す。
  15. 「OK」ボタンをクリックして、設定ウインドウを閉じる

ローカル上のみの未開封メールを表示するフォルダの設定

次は、Gmailのみ対象とした未開封メールを表示するスマートフォルダの設定を作成する。

  1. メールのウインドウ左下の「+」から、「新規スマートメールボックス…」を選択して、スマートボックス設定画面を開く。
  2. 「差出人」のプルダウンを選択して、「メッセージが未開封になっている」を選択。
  3. ルールの直下に ( + ) をクリックして、新規ルールを作成。
  4. 作成された新規ルールの左のプルダウンから、「特定のメールボックスにあるメッセージ」を選択。
  5. 右のプルダウンから、Gmailアカウント内の「すべてのメール」を選択。
  6. 「OK」ボタンをクリックして、設定ウインドウを閉じる

Gmailのみ対象とした未開封メールを表示するスマートフォルダの設定

最後に、ローカル、Gmail上の未開封メールを表示するスマートフォルダの設定を作成する。一番の見せ場がここだ!!

  1. メールのウインドウ左下の「+」から、「新規スマートメールボックス…」を選択して、スマートボックス設定画面を開く。
  2. 「差出人」のプルダウンを選択して、「特定のメールボックスにあるメッセージ」を選択。
  3. 右のプルダウンから、先ほど作成したGmailのみの未開封メールを表示するスマートフォルダを選択。
  4. ルールの直下に ( + ) をクリックして、新規ルールを作成。
  5. 作成された新規ルールの左のプルダウンから、「特定のメールボックスにあるメッセージ」を選択。
  6. 右のプルダウンから、先ほど作成したローカルのみの未開封メールを表示するスマートフォルダを選択。
  7. 「OK」ボタンをクリックして、設定ウインドウを閉じる

ローカル、Gmail上の未開封メールを表示するスマートフォルダの設定

複数のGmailを管理している場合には、もう一つGmailアカウント全部を表示するスマートフォルダを作って、同じようにこのスマートフォルダのルールに追加指定してやればOKだ。

Dockの未開封数表示

最後にDockの未開封数表示の仕方を変更する。

  1. 環境設定パネルを開く。
  2. 「一般」タブが選択されていないときは選択する。
  3. 「未開封数のDockへの表示」を、すべての未開封メールを表示するスマートフォルダを指定。
  4. 設定ウインドウを閉じる

Dockの未開封数表示の仕方を変更

以上で、Gmail、ローカル、そしてGmail、ローカル両方の未開封メールを表示するスマートフォルダを作り、ローカルのGmailを省いた未開封数 + Gmailの未開封数をDockのアイコンに表示することができる。一番最後に作成したスマートフォルダは、今回の達成点であるすべての未開封メールを表示することができる最強のスマートフォルダとなった。

Apple MailのIMAP利用はより混乱を生む?

Smart Folder Gmail

上記のスマートフォルダ群の良いところは、ローカルとGmailの未開封も一目瞭然という点だ。利用状況によるが、ローカルとGmailの用途を明らかに区別している場合は、相当な効力を発揮するだろう。逆にそれほど区別していない場合は、まったく必要ないものなので、「-」などと名前を付けてしまって、放置するのも良いかもしれない。

今回思ったのが、Apple MailのIMAPへの配慮の無さだ。IMAPの良いところは、オンライン上に未開封やフラグ(スター)、などのタグを付ける事によって、他の環境でもメール環境は共有できるところだが、Apple Mailの場合はデフォルトでローカルに保存してしまうので、ルールを指定して、フォルダ分けを行っていた場合などには、IMAP上、ローカル上、両方のメールにルールを適応させてしまう。せめて、ルール設定のところに「IMAPで受信したメール」を区別するルールを作って欲しかった。

本当は各IMAP上にルールを作成しておけばいいかもしれないが、POP環境に慣れ親しんだ我が身では、今更IMAPとPOPでのルール分けなどしたくなく、結果、このようなスマートフォルダのコラボレーションを行った次第。回避方法から、実際に適応させることができるまで、その作業時間約2時間!! もったいない!! もし同じ事を考えた人が100人いたとしたら、200時間も世界は失ったことになる。いや、自分は頭が悪いほうだから150時間ぐらいか…。

Dock

related story