ドコモメールをGmailに転送して一元管理

以前、「さくらのVPSにUbuntuをインストールしimotenを使うまで」という記事で、パケット代節約のためにi-modeのメールをGmailに転送できるようにするまでの手順を示しましたが、この度

  • imotenを使うための前提であった、i-mode.netのサービスが2015年終了する
  • ドコモメールサービス開始により、外部からspmodeメールへのアクセスが容易になった

ことを背景に、

  • ドコモメールを使えるようにする
  • spmodeのメールをGmailに転送できるようにする

ために実施した作業をまとめてみます。

想定する前提は、

  • VPSもしくは自宅LANにLinuxで稼動するマシンを持っている
  • 自力でメールサーバを構築できる

ドコモメールをインストールする

まず、ドコモメールを使えるようにしないと話にならないです。 私の手持ちのスマートフォンSO-01E(Xperia AX)はドコモメール対応の機種であるので一安心。 下記リンク先の手順にしたがって、インストールを行いました。

www.nttdocomo.co.jp

androidlover.net

「spモードメール」アプリをアップデートするか、「dメニュー」→「サービス一覧」→「ドコモメール/spモードメール」からダウンロードすること。

ドコモメール導入後は「communicase」ではメールが受信できなくなるのでご注意ください。

ドコモメールのデータに外部からアクセスできるようにする

ドコモメール

3.docomo ID利用設定   docomo ID利用設定は、AndroidTMスマートフォンで以下より設定して下さい。   ※iPhoneでドコモメールの利用を開始したお客様は、docomo ID利用設定は「利用する」となるため設定は不要です。

    [確認方法]     dメニュー → お客様サポート → メール設定 → docomo ID利用設定確認

私のように普段、Wifiでspモードメールを利用している人は、「docomo ID利用設定確認」時に「6029 docomo ID認証時はご利用いただけません」なるエラーが出て困るかもしれませんが、 docomo IDの利用登録時に「docomo ID認証時はご利用いただけません」と表示されてしまう場合の対処法 – ガジェット通信を参考に対応してください。

転送用メールサーバを構築する

メールサーバを構築するのは自宅LANで起動している、Raspberry Piの上とすることにしました。VPS上で起動することも考えたのですが、メールサーバを悪用されるリスクを考慮して、自宅LANとしました。 下記のサイトを参考に、メールサーバを起動します。

PostfixによるSMTPサーバ構築メモ Raspberry Pi に postfix をインストールする | Lab Notebook:

$ sudo apt-get install postfix
$ sudo cp /usr/lib/postfix/main.cf /etc/postfix/main.cf
$ sudo vi /etc/postfix/main.cf
$ /etc/init.d/postfix restart

apt-get した後に、設定を聞かれますが、「設定なし」を選ぶようにしてください。 /etc/postfix/main.cf の内容を差分だけピックアップすると以下のとおり。

myorigin = $mydomain
inet_interfaces = loopback-only
mydestination = $myhostname, localhost.$mydomain, localhost
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/sbin/newaliases
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /etc/postfix
readme_directory = /usr/share/doc/postfix

fetchmailコマンドによるメール転送開始

fetchmailコマンドで、ドコモメールにログインしてメールを取得し、Gmailに転送できるようにします。

ドコモメールを自宅サーバで受信してGmailに転送 - kuniharumaki blog

いまさらハック: DoCoMo iPhone SPモードを20秒間隔でチェックする方法

$ sudo apt-get install fetchmail
$ cd 
$ vi .fetchmailrc
$ chmod 600 .fetchmailrc

私の.fetchmailrcの内容は以下のとおりです。 usernameはdocomoID(つまりはメールアドレス)、passwordはdocomoID用のパスワード、isの後に、転送先のGmailアドレスを設定してください。

set logfile "fetchmail.log"
set daemon 30

poll imap.spmode.ne.jp
proto imap
timeout 30
username "xxxxxxxx@docomo.ne.jp"
password "docomoidnopassword"
smtphost "localhost"
is xxxxxxxx@gmail.com
idle #imapサーバに対してセッションを維持したまま、新着があれば即受信
no mimedecode
keep #メールを削除しない
ssl

そして起動します。

$ fetchmail

動作確認

うまく動いているかどうかは、fetchmail.logの内容を確認してください。

fetchmail: 7 通のメッセージ (そのうち 6 通は 既に読み込んでいます) がアカウント xxxxxxxx @docomo.ne.jp , サーバ imap.spmode.ne.jp宛に届いています. fetchmail: xxxxxxxx @docomo.ne.jp @imap.spmode.ne.jp 宛に届いた 7 番目のメッセージ(全部で 7 通)を読み込んでいます (322 バイト (ヘッダ) ) (本文 122 オクテット) サーバからメッセージを削除しませんでした。

うまく動いていれば、ログファイルに上のようなメッセージが出るはずです。

名前 0: localhost:smtp [127.0.0.1/25] への接続を開けません: 接続を拒否されました fetchmail: SMTP による localhost への接続に失敗しました。

上記のようなログが出る場合には、メールサーバの設定ができていないと想定されます。