iPhoneでiモードメールを送受信する
ドコモでは公式でキャリアメールを他のメールアドレスに転送するサービスは行われていません。
使用している携帯電話以外でキャリアメールを受けるにはiモード.netのサービスを契約し、メールの設定をする必要があります。
AndroidやiOSにはiモード.netにアクセスしてキャリアメールを取ってきてくれるアプリがありましたが、あんまり感覚に合わないのでimotenというアプリを使ってキャリアメールをoutlook.comのアドレスに転送することにしました。
imotenはJavaで書かれているアプリケーションで、WindowsやらLinuxやらで動きます。今回はファイルサーバの中にKVMでdebianゲストを構築してそこにimotenを導入しました。
設定は基本的にくずのは探偵事務所を参考に行いました。
2014/09/08
iモード.netのログイン方法変更により、この記事の方法ではメールを送受信できなくなりました。
iモードメールからドコモメールに移行した - えぢた 2.2 @k_zoarにて変更を行っています。
なにはともあれiモード.netに申し込みます。Mydocomoにを利用していればドコモショップに行く必要もありません。
iモード.netでは割と最初の方にワンタイムパスワードを利用するか聞かれると思いますが、ワンタイムパスワードを利用するとimotenを動かすのが面倒なので使わない設定にしておきます。
続いてJavaの導入ということで、/etc/apt/sources.listのソースのmainの後ろにcontrib non-freeを追記してJavaとついでにunzipを導入します。
# apt-get update # apt-get install unzip sun-java6-jdk
Javaのインストール中にライセンスの承諾を問われるので信義にしたがって選択してください。もちろんライセンスを拒否すれば使えませんけど。
ちなみに、Javaは7系が最新ですが、インストールが面倒なので6系を入れました。
そしてimotenを格納するディレクトリを作成して設定を行います。
# mkdir -p /usr/local/imoten →作業用ディレクトリ作成 # cd /usr/local/imoten # wget http://imoten.googlecode.com/files/imoten-X.X.XX.zip →imotenのダウンロード # unzip -d /usr/local/imoten imoten-X.X.XX.zip →imotenの解凍 # chmod 755 /usr/local/imoten/bin/imoten →実行属性を設定 # chmod 755 /usr/local/imoten/bin/wrapper* →実行属性を設定
いつも設定をミスって取り返しが付かなくなるので初期設定ファイルを保存しておきます。
さらに新しく設定ファイルを用意して書き込み
# mv ./imoten.ini ./imoten.ini.def # nano -w ./imoten.ini
今回の設定内容は下記の通り
docomo.id=%docomo ID% docomo.passwd=%docomo Password% smtp.server=smtp.mail.yahoo.co.jp smtp.port=587 smtp.connecttimeout=10 smtp.timeout=30 smtp.tls=true smtp.ssl=true smtp.from=%Yahooメールアドレス% smtp.auth.user=%Yahoo ID% smtp.auth.passwd%Yahoo Password% forward.to=%outlook.comメールアドレス% forward.rewriteaddress=false forward.headertobody=false forward.subject.charconvfile=../conv/genDocomo2sb.csv mail.encode=UTF-8 mail.contenttransferencoding=7bit mail.fontfamily=Hiragino Kaku Gothic ProN mail.emojiverticalalign=text-bottom mail.emojisize=15px mail.emojiverticalalignhtml=baseline mail.emojisizehtml=14px emojireplace.subject=false emojireplace.body=inline sender.smtp.port=587 sender.smtp.user=%SMTP ID% sender.smtp.passwd=%SMTP Password% sender.charconvfile=../conv/unicode2docomo.csv,../conv/genSb2docomo.csv sender.convertsoftbanksjis=true sender.stripiphonequote=true sender.docomostylesubject=true imodenet.checkinterval=30 imodenet.logininterval=60 save.cookie=true
続いてwrapper.confの編集
# whereis java # nano -w ./conf/wrapper.conf
wrapper.java.commandにはwhereis javaで出てきたJavaコマンドの場所をフルパスで記入して、次の行に
wrapper.app.parameter.2=immf.ServerMain
を追記します。
次いで、imotenをサービス起動できるように設定してimotenを起動します。
# ln -s /usr/local/imoten/bin/imoten /etc/init.d/imoten # update-rc.d imoten defaults # /etd/init.d/imoten start
これでだいたい完了。
iモードケータイにログイン通知が届けば設定が成功しているということでしょう。
試しにメールを送ってみるとoutlook.comのアドレスに転送されました。
受信側はiPhoneでExchangeを使ってoutlook.comアドレスの受信設定をしてやればOKです。
送信側はiPhoneで「その他」を使ってYahooのアカウントを登録し、SMTPの設定部分をimoten.iniのsender.smtp.userとsender.smtp.passwdで設定したIDとパスワードにすればOK。
SMTPサーバのアドレスはMyDNSでドメインを取得して登録しました。
今回は自宅のファイルサーバ内のKVMでimotenを動かしているのでルータのポートフォワードをいじって587番ポートだけをKVMゲストのdebianに転送しています。
当初はsmtp.hogeの部分もoutlook.comの別アカウントにしていたのですがなぜかforward.toとsmtp.fromのドメインが同じ状態では転送されたメールの差出人がsmtp.fromのアドレスに書き換わってしまうので仕方なくYahooのアカウントを使用しています。
ポーリングの間隔が30秒なのでだいたい携帯電話で受信と近いタイミングでiPhoneにもメールが届きます。
iPhoneからキャリアメールを送信するときと受信したキャリアメールに返信するときは送信するアカウントに注意しないと違うアドレスで送ってしまうので危うい側面もありますね。