2012-03-10

K-9 Mail設定

K-9 MailとGoogleアカウントの続き

K-9 Mailの設定、用語の意味についてのまとめ。

関連記事
  1. MailDroid設定、K-9 Mailと比較
Android(GALAXY NEXUS(SC-04D)のメーラーとして、K-9 Mailを使う事にした。設定が結構難しかったので、設定方法(使い方)、用語、考え方をまとめる。以下メールサービスはGmailであることを前提に記載。私の推測を交えた理解なので、間違えている場合があると思います。
記載時のバージョンは、4.006。

アカウント設定方法
K-9 Mail側
  1. メニュー(縦点々)→アカウント一覧→メニュー→アカウント追加
  2. メールアドレスとパスワードを入力。*@gmail.comの場合は、サーバー設定は勝手にしてくれるらしく不要
Gmail側
  1. PCでGmailにログイン
  2. 右上の歯車のようなアイコン→(メール)設定→メール転送とPOP/IMAPのタブ
  3. IMAPアクセス(すべてデフォルトのまま)
    • ステータス。IMAPを有効にする。
    • IMAPのメールを削除するようマークを付けた場合。
      自動消去をオン-直ちにサーバーを更新する
    • フォルダサイズの制限。メール数を制限しない
同期とプッシュ
同期
  • 定期的にクライアント(Android端末)からサーバーに問い合わせをし、クライアントとサーバーの内容を同期させる。
プッシュ
  • IMAP IDLEという通信規格を使って実現。サーバーにメールが届くなどのアクションがあった時に、サーバーからクライアントに通知がくる。そのため即時性があり、携帯メールのような使い方ができる。サーバーはクライアントの通信先(IPアドレス?)を常時把握している必要があるので、適時接続のリフレッシュをしている。
検証内容(以下サーバーとは、WebアクセスのGmailの事)
共通設定
  • Menu→その他→アカウント設定→メール受信で設定
  • サーバのメッセージ削除を同期にチェック
  • メール削除時の動作:サーバでも削除する
  • メッセージ完全削除(Expunge):削除または移動後即時
  1. 受信トレイ設定:同期OFF/プッシュOFF(クラス参照)
    ゴミ箱設定:フォルダ=[Gmail]/ゴミ箱(フォルダとラベル参照)、同期OFF/プッシュOFF
    1. サーバーで新規メール受信→K-9上では反応なし。メニュー→メール受信で取り込まれる。リスト最下部の25件読込でも同じ。
    2. サーバーの受信トレイで未読メールを読む→K-9上では反応なし。メール受信で既読に。
    3. サーバーの受信トレイで既読メールを未読に→K-9上では反応なし。メール受信で未読に。
    4. サーバーの受信トレイで削除→K-9上では反応なし。メール受信で削除。サーバー上ではゴミ箱へ。K-9のゴミ箱は変化なし。ゴミ箱のメール受信で現れる。 ゴミ箱のフォルダ設定がどう影響しているかは未検証。
    5. K-9受信トレイで未読メールを読む→すぐに(再読込で)サーバーでも既読に。
      通知:「処理 アカウント名:setFlagBulk 0/1」。上部に表示される。ここでサーバーに処理を通信していると考えられる。
    6. K-9受信トレイで既読メールを未読に→すぐにサーバーでも未読に。
      通知:「処理 アカウント名:setFlagBulk 0/1」。
    7. K-9受信トレイで削除→すぐにサーバーでも削除され、両者ともゴミ箱へ移動。 ゴミ箱のフォルダ設定がどう影響しているかは未検証。
      通知:「処理 アカウント名:moveOrCopyBulk 0/1」。

  2. 受信トレイ設定:同期ON/プッシュOFF
    ゴミ箱設定:Aと同じ
    1. サーバーで新規メール受信→K-9上では同期時に受信。
    2. サーバーの受信トレイで未読メールを読む→K-9上では同期時に既読に
    3. サーバーの受信トレイで既読メールを未読に→K-9上では同期時に未読に
    4. サーバーの受信トレイで削除→K-9上では同期時に削除。サーバー上ではゴミ箱へ。K-9のゴミ箱は変化なし。ゴミ箱のメール受信で現れる。
    5. A-5と同じ
    6. A-6と同じ
    7. A-7と同じ
  3. 受信トレイ設定:同期OFF/プッシュON
    ゴミ箱設定:Aと同じ
    1. サーバーで新規メール受信→K-9上ですぐに受信。プッシュ受信したようだ。
    2. A-2と同じ。既読への変化だけではプッシュされないようだ。
    3. A-3と同じ。未読への変化だけではプッシュされないようだ。
    4. A-4と同じ。削除してもプッシュされないようだ。だが、何度か試していると、すぐにK-9上でも消えるようになった。???。
    5. A-5と同じ。
    6. A-6と同じ。
    7. A-7と同じ。
まとめ
  • サーバーで新規メール受信→プッシュ設定では、すぐにK-9でも受信。プッシュ設定で無い場合は、同期時に受信。
  • サーバーでの操作(既読、未読、削除)→K-9上には同期時に反映。
  • K-9での操作(既読、未読、削除)→すぐにサーバーに反映
  • 同期、メール受信、読込は同じことのようだ。
設定
  • 同期
    • 送信トレイ以外のすべてのフォルダに設定。
    • 同期間隔:6時間。
      アカウント設定→メール受信→同期フォルダの同期間隔で設定。
    • サーバーとK-9は基本同期しておきたいが、新着メール以外は急がない。サーバーの操作は即時反映されないが、必要なら手動でメール受信すれば同期する。
    • 送信トレイは、送信されるまでの一時的なものなので、同期は不要。
    • すべてのメールは受信トレイと内容がダブルので、同期の時に新着通知が発生するかもしれない。他のフォルダ(ラベル)に振り分けたとしても同じかも。運用しながら確認する。
  • プッシュ
    • 受信トレイに設定。
    • リフレッシュ間隔:24分(デフォルト)。
      アカウント設定→メール受信→プッシュ接続の拡張設定→IMAP IDLE接続のリフレッシュで設定。
    • モバイル機器で、携帯メールの変わりに使うので、新着メールは即時に通知を受けたい。即時性が不要なアカウントはプッシュにしない。
    • Gmailのフィルターで受信時に振り分けをしている場合は、そのフォルダ(ラベル)のプッシュの必要性に応じて設定する。私はないけど。自分で設定したわけではないが迷惑メールが同様の扱いになるが、迷惑メールに即時性はいらないだろう。時々チェックしてたまっているものの確認ができれば十分。
フォルダとラベル
K-9のフォルダ
  • K-9 Mailのアカウント設定を行うと、受信トレイ、送信トレイ等複数のフォルダができていた。
  • 受信トレイ、送信トレイの他に、アーカイブ、下書き、送信済み、迷惑メール、ゴミ箱のK-9 Mailのアカウント設定→フォルダでフォルダ名を設定できるフォルダは、K-9 Mailデフォルトのフォルダと思われる。
  • [Gmail]/*となっているフォルダは、Gmailのシステムラベルに対応するものらしい。
  • その他のフォルダは、Gmail上の一般のラベルに対応するものらしい。
Gmailのラベル
  • デフォルトで存在するシステムラベルと一般のラベルがある。
  • システムラベルの内、チャットのみK-9フォルダに取り込まれていなかった。
  • [IMAP]/送信済み等(アカウントによって違っていた)があった。K-9の送信済みフォルダを"[Gmail]/送信済み"に設定する前に送信(IMAPアクセス)することによってGmail上にできた?[Gmail]/送信済みに設定後は削除しても良い気がする。
検証内容
  • K-9上のすべてのメールを受信→K-9上の受信トレイの内容には変更なし。
  • 複数ラベル(サーバー側でつけた場合)
    • サーバー上で、受信トレイのメールにプライベートのラベルを付ける。
    • K-9上の受信トレイ、プライベート、すべてのメールでメール受信すると、3箇所ともに現れる。
    • K-9上の受信トレイで既読に。サーバー上ではすぐに既読に。K-9のプライベート、すべてのメールでは反応なく、メール受信をして反映。
    • K-9上の受信トレイで削除。サーバー上ではすぐに削除される。K-9のプライベート、すべてのメールでは反応なく、メール受信をして反映。サーバーではゴミ箱に移動。
  • 複数フォルダ(K-9側でつけた場合)
    • サーバー上で、テスト1/テスト2のラベルを作成
    • K-9上でラベルの再読込
    • K-9上で、受信トレイのメールをテスト1/テスト2にコピー
    • K-9上の受信トレイとテスト1/テスト2に同じメールが現れる。Message-IDも同じ。
    • サーバー上の受信トレイとテスト1/テスト2に同じメールが現れる。
      受信トレイ:テスト1,テスト2のラベル付き
      テスト1:受信トレイ,テスト1,テスト2のラベル付き
      テスト2:受信トレイ,テスト1,テスト2のラベル付き
      つまり同じメールと認識されている。表示の違いは不明。
    • サーバーの受信トレイで削除。
      サーバー上では、ゴミ箱に移動。受信トレイ、テスト1,テスト2のラベル付きだが、受信トレイ、テスト1,テスト2では表示されず。
      K-9上の受信トレイではすぐに削除(プッシュされたみたい)。
      K-9上のゴミ箱にすぐに現れる(もしかしたら元からあって同期できてなかったかも)
      K-9上のテスト1/テスト2にはそのまま。メール受信で消える。ゴミ箱は変化なし(1個のまま)
まとめ
  • K-9のフォルダは通常のフォルダの概念。一方Gmailのラベルも通常のラベルの概念。ラベルは1つのメールに複数つけられるが、フォルダはどれか1つにしか所属できない。 
  • 複数のラベルを設定したときなどに矛盾が発生するかと思ったが、常にサーバー側が親になっている事と、K-9での操作を即時サーバーに反映する事で、同期してしまえば矛盾は解消するようだ。
設定
  • Gmail上の自分で設定していない一般ラベル(プライベート、仕事など)は削除した。
    • Gmail上のラベル管理で削除
    • フォルダ一覧→フォルダ表示→フォルダ再読込
フォルダクラス
  • フォルダ毎に、表示クラス、同期クラス、プッシュクラスが設定できる。
  • 各クラスには、設定しない、1stクラス、2ndクラスが設定できる。
  • 表示クラス
    アカウント設定→フォルダ→表示するフォルダで、フォルダ一覧で表示されるクラスを設定
  • 同期クラス、プッシュクラス
    アカウント設定→メール受信→同期フォルダ/プッシュフォルダで、適用されるクラスを設定
  • 設定は、1stクラスすべて、1stクラスフォルダのみ、1stおよび2ndクラスフォルダ、2ndクラスフォルダを除く(、何もしない)から選ぶ。
  • 2ndクラスと(クラス)設定しないとはどっちが上位かよくわからない。
設定
  • 設定しないはイメージが分かりにくいので、必要なものは1stクラス、不要なものは2ndクラスに設定する。
  • 同期クラスとプッシュクラスの設定は、上記同期とプッシュ参照。
  • 表示クラスはすべて1stクラスにして、フォルダ一覧に表示。
    4/8追記:すべてのメールの表示クラスを2ndに変更。1stのままでは、未読メール数がダブってしまい、受信トレイで既読にしても、すべてのメールで未読のまま(同期するまで?)になってしまうため。
統合フォルダ
  • 複数アカウントを含む複数のフォルダの内容を一覧で表示したいときに設定する。
  • フォルダ設定→統合化をチェックすると、統合フォルダ内に一覧が表示される。
  • グローバル設定→インタラクション→統合フォルダで始めるをチェックすると、最初に統合フォルダが開いた状態で起動する。
  • 各アカウントの受信トレイと送信済みトレイの統合化をチェックした。

グローバル設定(上記以外):Menu→その他→設定→グローバル設定
  • 表示設定
    • メッセージプレビュー:ON。一覧に本文の一部が表示される。
    • 固定幅フォント:ON。キャラクターを表のようにレイアウトしているとき等にずれないように。
  • インタラクション
    • ズーム制御:ON。
  • 通知設定
    • 夜間時間帯:ON。1:00~7:00はメール着信通知なしに設定。
  • ネットワーク
    • バックグラウンド同期:「バックグラウンドデータがチェックされた時」がデフォルトだが意味不明。「使用しない」にすると、受信トレイの通知部に「(同期停止)」と表示された。プッシュ受信もできないみたい。元に戻した。

アカウント設定(上記以外)
Menu→その他→設定→アカウント設定(アカウント選択後) or アカウント一覧で長押し
  • メール受信
    • プッシュ接続時の拡張設定→プッシュ接続時の同期:OFF(デフォルト)。
      プッシュを受けたときに同期もするということだろうと思ったがそうでもなかったのでOFFに戻した。
      • ONに設定
      • サーバーで未読メールを既読に設定
      • (別アドレスからメールを送って)新着メールを受信。プッシュされて新着メールを受信したが、サーバー上で既読にしたメールはK-9上では未読のまま。もちろんメール受信を行うと、既読に変更された。
  • フォルダ
    • 下書き/送信済み/迷惑メール/ゴミ箱をすべて、[Gmail]/*に設定。
      このほうが、Gmailサーバーとずれがなくて同期時に分かりやすいと思う(未検証)。
    • アーカイブフォルダ。Gmailのアーカイブは、受信トレイのラベルが外れた状態と同じなので、すべてのメールにするとよいという記載がどこかにあった。アーカイブは使ってないので、設定無しのままに。
  • 通知設定
    • 受信メール通知:ON。ステータスバーに受信が表示される。
    • 自分が送信したメールも通知:OFF。
    • 通知音:Vega(とりあえず)。好きなものを選ぶ。
    • バイブレーション:ON。
    • バイブレーションパターン:デフォルト。
    • バイブレーションの繰り返し:5(デフォルト)
    • LEDを点滅:ON。
    • LEDの色:デフォルト。アカウントの色と同じになっている。
    • メール同期通知:ON。
    • 未読メール通知の動作:OFF(意味不明だが未検討)。
    • 未読件数の表示:ON

フォルダ設定(上記以外)
Menu→その他→設定→アカウント設定(フォルダ選択後) or フォルダ一覧で長押し
  • 上記以外で記載する内容なし。

消費電力
K-9 Mailが電力消費が激しいというサイトが多々あった。ただ、私の端末の電池使用量を見る限り、上位5位以内には入っておらず、5位は2%ぐらいなので問題なさそう。
同期とプッシュの消費電力について、180度逆の主張が書かれている。
  • 同期が多い派
    即時性を高めると、短期間(ex1分)でのポーリングが必要。メールが来ていなくても作動するので無駄。
  • プッシュが多い派
    常時接続しているから多い。
本当のところは分からないが、前者の方が正しい気がする。プッシュで常時接続(用語的に正しいかどうか不明)といっても、コネクションを確立していると言っても、時々リフレッシュ(24分毎とか)する以外は口(ポート)を開けて待っているだけだから、通常の待機状態と同じなのではないかと思う。待機(スリープ、ロック)状態と言っても、スイッチのチェックとか続けているのだから大差ない気がする。でもスイッチはハードウェアの割り込みだから違うのかも。よくわからないが、実態としてそれほど電気を食っていないのでプッシュ設定とする。
同期については即時性はいらないし手動同期もできるので、一日何回かでいいことにして節電する。

操作
  • フォルダ(ラベル)の同期:フォルダ表示→フォルダ再読込。
    サーバーで、[IMAP]/下書きは、再読込しても現れなかった。
    削除するときは、サーバーで削除してから、フォルダ再読込を行う。
    フォルダ長押し→完全削除(Expunge)をしてもフォルダは消えなかった。意味が違うのだろう。
最後に
  • 調べながらこれだけ書くのに1日かかった。
  • 複雑だが考え方は系統だっている。これからお世話になります。
  • 次は、PCでメインで使っているGoogle Appsのアカウントの設定。

8 件のコメント:

  1. k-9 mailのプッシュ、同期について知るのにいろいろサイトを読ませていただいていましたが、一番網羅的でかつまとまっていると感じました。大変参考になりました。ありがとうございます。

    返信削除
    返信
    1. コメントありがとうございます。お役に立てたのであれば幸いです。これ以来K-9 Mailを使っているのですが、Gmail(IMAP)サーバー上のメールの検索ができない(みたい)という問題があるため、MailDroidにしようかと思って調査中です。

      削除
  2. 大変参考になりました。ありがとうございます。

    返信削除
    返信
    1. コメントありがとうございます。お役に立てたのであれば幸いです。

      削除
  3. はじめまして,大変参考になり,助かります。
    早速ですが,1点お分かりになりましたらご教示ください。yahooメールをimap受信しようと思っています。受信トレイは同期できているようです。しかし,送信済メールが同期できません。k-9側にはk-9で送信したメールしか見ませんし,そのメールはサーバでは見えません。
    送信済フォルダは表示,同期,プッシュ(これらの違いがよくわかっていませんが)とも1stクラスにしているのですが,何か問題あるでしょうか?もしおわかりでしたら宜しくお願い致します。

    返信削除
    返信
    1. コメントありがとうございます。
      現象からすると、K-9上の送信済みメールとサーバー上の送信済みメールが別の物をさしているいるように思います。
      Yahooメールは使っていないので詳細は分かりませんが、送信済みメールのフォルダ設定が違っていたりしないでしょうか?
      Gmailの私の設定では、「送信済みフォルダ名」 を「 [Gmail]/送信済みメール」に設定しています。メニュー→設定→アカウント設定→フォルダ→送信済みフォルダ名で設定できます。Yahooでも同様の設定ができないでしょうか。
      本文のフォルダとラベルのところも参照ください。
      検討違いであれば申し訳ありません。

      削除
    2. 早速のご連絡、ありがとうございました。Happyです!
      ご指摘の[Gmail]/***がポイントのように思われます。私もいろいろ調べていてわかったのは、Yahoomail(ウェブメール)上には通常の「受信」や「送信済メール」のフォルダ以外に、個人フォルダの下にも「送信済」や「下書き」「ごみ箱」等があり、よく見ると、k-9で送信したメールはウェブメール上の「送信済」に同期されていました。よって、[Gmail]/***のような指定をやれば、本当の「送信済」に同期されるように思いました。Yahooの場合、[Gmail]に相当する名前が何なのか、探る必要がありますね。
      ところで、貴記載の「フォルダとラベル」ですが、上記のように[Gmail]/***と設定するところはどこになりますでしょうか?
      k-9側でいろいろ探したのですが、「アカウント設定」-「フォルダ」では、ラジオボタンによる選択しかなくて、記載ができません。ひょっとしてGmail側でしょうか?
      いろいろすみませんが、引き続きご教示いただければ幸いです。宜しくお願いいたします。

      削除
    3. 同じようにラジオボタンなのですが、その選択肢に[Gmail]/**というのがでてくるため、手入力したわけではありません。
      試しにYahooメールを設定してみたのですが、ラジオボタンで「送信済み」を「Sent」に変更すると、Web上で「送信済みメール」にK-9から送ったメールが同期されるようになりました。
      下記はiOSの時のフォルダ設定のヘルプですが、ここに記載されているフォルダ名を参考に設定すればよさそうに思います。
      http://www.yahoo-help.jp/app/answers/detail/a_id/47713/p/565/related/1

      あと、もしラジオボタンに「Sent」がでないようなら、設定→アカウント設定→メール受信→受信メールサーバ設定の「IMAP名前空間を自動検出」のチェックが入っているかどうか確認してみてください。私も検証したわけではないですが、なんか関係ありそうに思います。

      削除