SoftBankのi.softbank.jpドメインのメールは設定で他のメールアドレスに転送することが出来ない。
メールはGmailにすべて流し込むようにして管理しているのでなんとかGmailのラベルMobile配下に転送できないか考えてみた。
ググってみると imapsyncと言うパッケージが使えそうだ。もともとimapサーバの移行のために作られたスクリプトのようだがこういった用途でも使えそう。
オプションが豊富でコマンドラインで扱うのには大変なのでシェルスクリプト内に記述することとした。
以下シェルスクリプト
imaptogmail.sh
# /bin/sh
/usr/bin/imapsync \
--host1 imap.softbank.jp --user1 hoge \
--passfile1 /etc/imap.softbank.pass --authmech1 LOGIN --ssl1 \
--folder INBOX --folder Notes --folder "Sent Messages" \
--host2 imap.gmail.com --user2 fuga@gmail.com \
--passfile2 /etc/imap.gmail.pass --authmech2 LOGIN --ssl2 \
--syncinternaldate --prefix1 INBOX --prefix2 Mobile \
--useheader Date
オプションの説明:
--folder オプションで INBOX,Notes,Sent Messages だけを対象にする。
--prefix1 INBOX --prefix2 Mobile でimap.softbank.jpのINBOXにあったメッセージをGmailのラベルMobileに置くようにする。
--useheader Date デフォルトではMessageIDを比較してコピーするかどうかを決定しているようだ。を日付で比較するように変更
MessageIDの比較だとコピー後に変わる?ものがあり、そのメッセージは必要ないのに再度コピー操作が入ってしまう事がある。なのででタイムスタンプで比較するように変更した。(詳細不明)