imapsync で IMAP メールを同期する

提供:maruko2 Note.
移動: 案内, 検索

目次


imapsync
IMAP メールサーバー間のメッセージを同期させることができる Perl スクリプト。

インストール

epel にあるので yum でインストール。(依存する perl モジュールが結構ある。)

yum install imapsync

使い方

host1 (Gmail) から host2 (Google Apps Mail) へ、メールメッセージをミラー(差分コピー)させる例。

imapsync \
--host1 imap.gmail.com --port1 993 --ssl1 --authmech1 LOGIN \
--user1 username --password1 password \
--host2 imap.gmail.com --port2 993 --ssl2 --authmech2 LOGIN \
--user2 foo@example.com --password2 password \
--dry

ミラーするフォルダを限定する

ミラーするフォルダを限定するには、 --folder フォルダ名A --folder フォルダ名B ... で指定する。

Gmail の場合はラベルの設定で IMAP で表示オン・オフすることで、ミラーするラベルを指定することもできる。

IMAP サーバのフォルダ名は、[Gmail]/&MFkweTBmMG4w4TD8MOs- のように Modified UTF-7 (UTF7-IMAP) 方式でエンコードされている。エンコード・デコードは PHP の mbstring で可能。

[shell@centos]$ php -r 'echo mb_convert_encoding( "[Gmail]/&MFkweTBmMG4w4TD8MOs-", "UTF-8", "UTF7-IMAP");'
[Gmail]/すべてのメール
[INBOX]
[Trash]
[[Gmail]]
[[Gmail]/&MFkweTBmMG4w4TD8MOs-]     [Gmail]/すべてのメール
[[Gmail]/&MLQw33ux-]                [Gmail]/ゴミ箱
[[Gmail]/&MLkwvzD8TtgwTQ-]          [Gmail]/スター付き
[[Gmail]/&Tgtm+DBN-]                [Gmail]/下書き
[[Gmail]/&j,dg0TDhMPww6w-]          [Gmail]/迷惑メール
[[Gmail]/&kAFP4W4IMH8w4TD8MOs-]     [Gmail]/送信済みメール
[[Gmail]/&kc2JgQ-]                  [Gmail]/重要

Gmail のラベル

Gmail システムラベル.png

Gmail はメールにラベルを付けることでフォルダ分けしているように使うことができる。

ラベルは大きく分けて、デフォルトで用意されている システム ラベル と、自由に作ることのできる ラベル の2つがある。

メールは、システムラベルの 下書きすべてのメールゴミ箱迷惑メール のどれか1つに必ず属している。

メールに複数のラベルを付けると、そのメールは複数のフォルダに存在しているように見える。

システムラベル = フォルダ
ラベル = タグ
のような感じ。


2 つの Gmail を同期する

Gmail を複数アカウント利用している場合、サブのアカウントに届いたメールをメインのアカウントに(自動)転送させることで、1つのアカウントのみチェックするだけで済むようになるので、便利に利用できる。

しかし、自動転送は迷惑メールと判断されたメールについては転送されないので、たまにサブ・アカウントの迷惑メールをチェックする必要がある。

これでは面倒なので、サブ・アカウントの迷惑メールを、メイン・アカウントの迷惑メールに imapsync を使い定期的にコピーすれば、サブ・アカウントの迷惑メールをチェックする必要もなくなる。

imapsyncでGmailをコピーする.png
メール転送だけだと迷惑メールと判断されたメールが転送されない。

迷惑メール をコピーする imapsync コマンド

imapsync \
--host1 imap.gmail.com \
--port1 993 \
--ssl1 \
--authmech1 LOGIN \
--user1 sub@gmail.com \
--password1 サブ・アカウントのパスワード \
--host2 imap.gmail.com \
--port2 993 \
--ssl2 \
--authmech2 LOGIN \
--user2 main@gmail.com \
--password2 メイン・アカウントのパスワード \
--folder "[Gmail]/&j,dg0TDhMPww6w-" \
--fast \
--delete
LINEで送る このエントリーをはてなブックマークに追加
個人用ツール
名前空間
変種
表示
操作
案内
ツールボックス

注目のページ

このサイトのはてなブックマーク数