imoten+SIMフリーiPhoneで@docomo.ne.jpを送受信する方法を記事にしたんだけど、プッシュが不安定だという声も多いので、Gmail+Exchangeに運用を仲立ちして貰う方法を記事にしてみます。
が、Mail.appにバグがあるのなら意味が無いのでそこだけは注意してください。
選択肢の一つ、というところで。
2011/2/12追記
Gmail+Exchangeアカウントのみで送受信できました。
Gmailバージョンの完成版設定記事なので、そちらを参照してください。
*注意
必ずこちらの記事を参照し、最初は@yahoo.co.jpで送受信を試し、どうしてもプッシュしないという場合はこちらを試してください。
このあとの記事はyahoo.co.jpで一度試した人用に作ってあります。
なぜこうしてあるのかは設定しているうちにわかります。
※注意2
レンタルサーバーの安定度も会社によって違います。
DTI、さくら(中の人使用中)
、去年の11月からサービスインのCloudCore VPSなど色々あるので、もしかしたらプッシュに影響しているかもしれないので、ダメダメなところなら思い切って変えてしまうのもいいかもしれません。
imoten.ini(設定ファイル)をGmail用に書き換え
VPSサーバーにログインし、imoten.iniをGmail用に書き換える。
imoten.iniのバックアップ
まず、元々稼動しているimoten.ini削除してしまうのはもったいないのでバックアップを取る。
imotenディレクトリへ移動。
[root@ ~]# cd /usr/local/imoten/ エンターキー
これでimotenディレクトリへ移動した。
imoten.iniをバックアップ(コピー)する。
[root@ ~]# cp imoten.ini imoten.ini2 エンターキー
これでimoten.iniがimoten.ini2と言う名前でバックアップ(コピー)された。
Gmail用にimoten.iniのを書き換え
yahoo.co.jp用に設定していたアカウントの部分を、Gmail用に書き換える。
[root@ ~]# vi /usr/local/imoten/imoten.ini エンターキー
紫文字の部分には自分で取得したGoogleアカウント名やパスワードを入力する必要があるので、あらかじめ用意しておこう。
なぜフルコピーではなく書き換えなのかはあとで分かります。
書き換え部分はそれほど多くありません。
—書き換える場所は紫で示してあります—
docomo.id=iモード.netのID
docomo.passwd=iモード.netのパスワード
smtp.server=smtp.gmail.com
smtp.port=587
smtp.connecttimeout=10
smtp.timeout=30
smtp.tls=true
smtp.ssl=true
smtp.from=Googleアカウント名@gmail.com
smtp.auth.user=Googleアカウント名
smtp.auth.passwd=Googleアカウントパスワード
forward.to=Googleアカウント名@gmail.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=yahooID
sender.smtp.passwd=yahooIDパスワード
sender.charconvfile=../conv/unicode2docomo.csv,../conv/genSb2docomo.csv
sender.convertsoftbanksjis=true
sender.stripiphonequote=true
sender.docomostylesubject=true
imodenet.checkinterval=60
imodenet.logininterval=60
save.cookie=true
—ここまで—
sender.smtp.port=587
sender.smtp.user=yahooID
sender.smtp.passwd=yahooIDパスワード
ここの3行は書き換えない。
書き換えるとメールが送信できない。
誤ってGmailアカウントに書き換えないようにすること!
入力後はESCキーでコマンドモードに戻り、:wqで保存してviモードを終了。
imotenを再起動する
imotenを再起動し、変更を適用する。
[root@ ~]# /etc/init.d/imoten restart エンターキー
これでimotenが再起動する。
VPSサーバーOSの自動アップデートと再起動設定
※すでに設定してある人は飛ばしてください
VPSサーバーOSにあるセキュリティホールが定期的に潰されるよう、自動でアップデートする設定を行う。
[root@ ~]# crontab -e エンターキー
すると
~
~
~
~
~
~
のような画面が開くので、そこに下記コードをコピー&ペーストする。
30 2 * * 0 /usr/bin/yum -y update
00 3 * * * /sbin/shutdown -r now
:wqでエディタを保存して終了。
最後にCrondを再起動。
[root@ ~]# /etc/init.d/crond restart エンターキー
これで書き込んだ時間にOSのアップデート、再起動されるよう設定された。
これでVPSサーバー設定は終了。
iPhoneでの設定
設定→メール/連絡先/カレンダー→アカウントの追加をタップ。
Exchangeをタップ。
gmailアドレス、ユーザー名、パスワードを入力。
説明のところはExchangeになっているが、変えてもいい。
入力し終わったら次へをタップ。
サーバという欄がでてくるので、m.google.comと入力し、次へをタップ。
連絡先とカレンダーをオフにする。
しないとiPhoneの連絡先とカレンダーがGmail用に書き換わり、泣きをみることになる。
必ずオフにすること!
これで設定は終了。
受信テストをし、受信できたら正しく設定されている。
あれ?送信は?
送信は、yahooIDで作った時のアカウントで送信する。
なんでかって?
Exchangeには送信メールサーバーを指定する項目がない。
なので、まず最初にyahooアカウントで設定した人用の記事になっているわけ。
そうするとyahooIDで設定した時に送信メールサーバーを設定したアカウントがあるから、新たに設定する必要がないでしょ?
だけど、結構不便なのよねこの仕様・・・。
Exchangeで受け取って返信すると、送信メールサーバーがデフォルトでGmailになってるから、いちいち変更しなきゃならないのが超面倒くさい。
だから、yahooアカウントで送受信するように記事を作ったんだよね。
iOS5.1アップデートでこのバグ直ればいいけどねぇ(-_-;)
どうしてもプッシュしない!って方は試してみてください。
>くずのはさん、こんばんは。
今回もご苦労様でした。
私のIPHONEはしっかりプッシュしてくれているので
今のところ、今回の設定変更は必要なさそうですが、
今後も大丈夫とは限りませんからねぇ…
プリントアウトして保存しておきます!
来るべきものが来ないっていうのは気持ち悪いですからね。
プッシュしない原因がメールAPPなら、IOSのアップデートで
しっかり対応してほしいですね。
>いつもご苦労様です。
私のiPhoneも、幸いしっかりpudhしてくれます。(DTI+yahoo)
pushで見に行くのはYahooのサーバーですよね。
もしmailアプリを立ち上げた時に受信できるなら、imotenは正常に動いていて、yahooサーバーがオカシイ→gmailに変更して改善される可能性あり。
mailアプリを立ち上げても受信できないなら、imoten(設定又はVPSサーバー)が異常で、yahooに転送されていないので、gmailに変更しても改善されない。
という理解でよろしいですか。
>自分としては、Mail.appがPush−IMAPの接続が何らかの理由で切断してしまうからと考えてるんですよね。
だからアプリを再起動すると再び接続が確立されてPushするようになるんだと思います。
それが人によって個体差があるのがよくわからんのですよね(-_-;)
Mail.appを再インストールする(iPhoneを復元する)のが最良の方法だと思うんですが。
iOS5.1で改善されていることを望みます。
つーか、知らんぷりしててつらっと直すのがAppleですからねw
>yahoo.co.jpやyahoo.comのPush通知は、Push−IMAPという規格を使用していて、
GmailはDirect−PushというHTTP/HTTPSを使用した規格を使用しています。
なので、Mail.app自体のバグがPush-IMAPに限定されるものであれば、
Direct-Pushの規格を採用しているGmailで改善される可能性はあります。
自分の場合、Push-IMAPで問題なくPushしているので、
どちらがよりPushするかっていう実験はできてないので、皆様の報告待ちですw
>今年の一月からSIMフリーiphoneを使いはじめました。iモードのことでどうしようかと検索していくうちにここにたどり着きました。おかげで助かっています。ありがとうございました。自分もyahoo.co.jpを使っています。このサイトがなければ断念していたところです。
本当はmoperaのSMSを使いたくて以前紹介されていたmoperaを使おうと試みましたが、送信はできるのですが、受信はできませんでした。調べたら受信サーバーはmoperaで設定するとエラーになり、外部を使わないとダメみたいなことが書いてありました。その都度、3,15円払わないといけないんですが、安心してプッシュ使いたいもんです。
いつも色々と調べて、検証してくださいましてお疲れさまです、そしてありがとうございます。
>SMS通知が100%正しくPushする!ってわけでもないようです。
後からまとめて通知が来たりすることもあるらしく、
一通につき3.15円払うのに信頼性がイマイチならもったいないかなと思ってあまり推奨はしていません。
受信サーバーをmoperaにしても受信できましたよ?
前一度設定したときに送受信できたはずなので、大丈夫なはずなんですが。
>そうですか、受信できるんですか!SMTPサーバーとして、mail.mopera.netを使うと「送信元アドレスがご利用中のmopera Uメールアドレスと一致しません。」というエラーメールが戻ってきて、ネットで見ると同じような人が何人もいて、gmailとか別のメールサーバーを使うらしく、そういうもんだと思ってました。でもおっしゃる通り、そのような状態ならあえてmoperaにこだわることもないですね。色々と教えていただきありがとうございます。
>サーバーの自動アップデート設定をしたら自作DAVがエラー1004がでます。どうしたらいいのでしょうか?
>SMSでの受信がいい加減だっていう書き込みが結構あったので、
一通あたりお金かかるのにその有様じゃあ・・・と思ってあまり紹介してませんでしたw
とはいえ、Push-IMAPよりはいいのかもしれないですけども。
不安定になったらGmailの方を試したほうがいいかもしれません。
>多分、サーバーが再起動した時にApacheが起動しなかったんだと思います。
# chkconfig httpd on
を行った後に
# /etc/init.d/httpd start
を行なってください。
>くずのはさん
はじめまして。
昨年末にこのページを見つけ、設定などを参考にさせてもらっています。
さくらのサーバーを使用していて、最初2週間位は順調にpush出来ていましたが、それ以降pushされない状態が続きました。
その後、yahoo.comのアカウントを取得し、imotenの設定、iPhoneの設定をyahoo.com用に変更しています。
ここで設定されているGmailと同様にダミー受信用(アカウント設定でyahooを選択)、送信用(このサイトで設定している設定をyahoo.comに変更)の2つで順調にpushされています。(通知が2通連続で来てしまいますが、受信、送信共に同一アカウントで行えます。)
アカウント設定でyahoo.comを設定したものを削除するとpushしなくなってしまうので、もしかしたらMail.appで手動設定した場合のみ不具合があるのかもしれません。
>接続出来るようになりました。的確なアドバイスありがとうございました。
>初歩的な質問ですみません。
root権限でコマンドを記入して入力ミスがあり、エラーではじかれた場合、入力したコマンドのデーターは蓄積されてしまいますか?蓄積されてしまうのであれば、削除方法など教えてください。
imotenファイル等の修正は分かるのですが・・・
それと、サーバーのOSを初期化した場合は全てのファイルが削除されたと理解していいですか?
もし残るのであれば消す方法等ありますか?
プッシュの不具合に関係してるかもと思いまして・・・
>データの蓄積がどういうものかはわかりかねますが、
エラーで弾かれたのならそのコマンドは通っていません。
でも、コマンドが流れている途中でyやn等の入力を間違ったのなら、
ある程度進んでいる可能性はあります。
サーバーOSを初期化したのなら、全て消えます。
残ることはありません。
imoten自体はプッシュに何の影響もしないので、気にされなくて大丈夫だと思います。
>Gmailとyahooアカウントが両方あると同時受信するけど、
yahoo.comのアカウントを削除するとPushしなくなるってことですか?
うーん・・・。
どういうことなんだろう(;´Д`)???
>ド素人なので、こんなこと聞くのもお恥ずかしいのですが、Tera Term のことを教えてくださいませんでしょうか?ログインして、コピペを全て終えるところまでやったのですが、その後はふつうにlogoutと入力して終了すればいいのでしょうか?勝手に終了するをすると接続を切りますかみたいなことを聞かれます。いつもこんな感じでサーバーにコマンド入力が反映されず、結局、最初から手入力をしてとても時間がかかってしまうのです。今後、アップロードの時など、また手入力しなければと憂鬱になってしまいます。どうしてもimotenを使い続けていきたいので、よろしければご教授いただけないでしょうか・
>ありがとうございます。
これで初期化せずに済みます。
あとプッシュの件ですが、受信ばかりでしたら止まることなく受信しております。
返信メールを書いて送信するとその後からプッシュされません。
こうなると原因はメールアプリなんでしょうね?
アプリを再起動させると、再度プッシュされました。
>ちょっといくつか質問したいのですが、
>imotenを使い続けていきたい
ということは、もうすでに正常に稼動しているってことでしょうか?
>最初から手入力
とも書いてありますし、TeraTermではなく、ブラウザ上で手打ちして設定を終了した、
ということでよろしいですか?
だとすると、vi エディタでの設定の仕方もある程度大丈夫ということですよね?
TeraTermはあくまでサーバーの画面を出力するためだけの存在なので、
TeraTermを切断したからといってサーバーコマンドが反映されていないということは考えられないんですが。
例えば、TeraTerm上でvi /usr/local/imoten/imoten.ini でimoten.iniを修正し、:wqで保存したら即座にサーバーに反映されているはずなので、
×ボタンでTeraTermを落としても大丈夫なはずなんですが。
自分はMacのターミナルを使って設定をしていますが、TeraTermも同じはずです。
なので、コマンドが流れているのにサーバーには反映されていないっていう状況が理解出来ないんですけども(;´Д`)
すいません。
>送受信ができるのであれば、imotenは正常に稼動しています。
受信が不安定なのは、メールの書きかけの最中などで放置すると受信しなかったり、
Mail.app自体の不具合だったりするので、iPhoneを再起動してみるかしてみるといいと思います。
>メールの書きかけで放置したことは無いです。
ただ書いて送信するとプッシュしなくなるんです・・・
>iPhoneを再起動するか、
http://limesheep5.sakura.ne.jp/wordpress/wordpress/2012/02/iphonemailapp.html
を試すかしてみてください。
今のところそれしか対処法はわかりません。
>はい、正常に稼働しております。入力もさくらのリモートコンソールから行いました。
全部コピペをした後、送信した際に受け手側に@docomo.ne.jpのアドレスでなく、gmailのアドレスで送られていたもので、反映されてないのではとそう認識してしまいました。
それでは、# /etc/init.d/crond restartを入力した後に、そのまま接続を切っても大丈夫ということでしょうか。
本当にこんな質問にも丁寧にお答えくださってありがとうございました。
>たぶん、imoten.iniを編集した後最起動しなかったんじゃないですか?
imoten.iniを編集しても、
# /etc/init.d/imoten restart
を行わないと反映されません。
# /etc/init.d/crond restart
を行った後はそのまま切断しても大丈夫です。
>初めまして。ど素人なもので、とても重宝させてもらってます(設定はコピペ 汗)。
それを踏まえて教えてほしいのですが、設定の追加で2コのiモードアドレスを使用
することは可能ですか?
ヨメもiPhoneに変えたがっているので・・・
ご教授ください。
>出来ますが、ディレクトリの構造くらいは理解する必要があります。
しかも、奥様のメールが旦那さんに駄々漏れですけど、奥様はそれでもいいんですかね?w
それでもいいなら、
http://limesheep5.sakura.ne.jp/wordpress/wordpress/2011/12/imotenq.html
のわしたか様宛のコメントに書いてあります。
もしそれを見てわからなければ、時間があれば2アカ使う方法を書いてみます。
>早速の返信ありがとうございます。
そーですよね・・・ダダ漏れはいかんですよね
ちなみに2アカとわ?
ホントに素人ですいません。
>アカウント2つってことですw
省略しちゃってすいません。
>その2アカってヤツのやり方、お待ちしております
ありがとうございました。これからも参考にさせて
いただきます。
>こんにちは。実はGmail+Exchangeでimoten経由の送受信ができます。
Gmail設定→アカウントとインポート→名前:メールアドレスを追加してSMTP サーバー経由で送信の設定をします。
これだけではExchange経由で送信ができません。
そこで、Google Syncを使います。
iPhoneのsafariを開いてttp//:m.google.com/syncにGmailのアカウントでログインします。
確か、英語かUS設定じゃないと項目が出てこないと思います。
Enable "Send Mail As" for this deviceにチェックを入れることで
iPhoneのExchangeからdocomo.ne.jpで送信ができます!
>書き方がまずかったです。
Gmailアカウントは使用せず、下記yahoo.comの同一アカウントが2つある状態です。
(1)アカウント追加で「その他」を選択して手動で設定したyahoo.com(受信はimap.yahoo.com、送信はさくらのサーバー)
(2)アカウント追加で「Yahoo」を選択して設定したyahoo.com
このアカウントが両方あると同時に受信しますが、(2)で設定したアカウントを削除すると受信しなくなってしまいます。(2)のみでも受信はします。
ちなみに、yahoo.co.jpでも同様の設定を試しましたが、yahoo.co.jpは両方存在しても受信出来ませんでした…
>まじっすか!!!
それだとGmailだけでいけますね!
ちょっと試してみます。
ありがとうございますヽ(´ー`)ノ
>ああ、なるほど。
その他の設定のみだとPushしないけど、Yahoo!を選ぶとPushするってことですね。
yahoo.co.jpがダメダメなんだろうか(;´Д`)・・・。
個体差があるってのが解せないんですよね。
>どこかで躓いたらこの名前でTwitterしてるので聞いて下さい。
去年からGmail+Exchangeで使ってたので、記憶がちょっと薄いです。
この方法は海外のiPhone情報系ブログにあったのを応用しました。
>ありがとうございます!
風邪が治ったら設定してみたいと思います!
>確かに出来る人、出来ない人がいて、個体差があるのが解せないですね。
前にimoten.iniの設定変更で、imodenet.checkintervalの長さを変えたらPushするようになったので、この長さに関係しているのかなと思っていたんですけど、受信出来なくなってしまったので違うみたいです…
下のコメントに書かれているGoogle Syncを試したらGmailアカウントだけで無事に送受信出来ました。
>imodenet.checkintervalは、iモードサーバーとimotenサーバーのチェック期間を短くするだけですからね。
IMAPの接続が切断してしまったら結局プッシュしなくなってしまいます。
GoogleSyncで送受信出来ましたか。
Gmailで安定するならそっちのほうがいいですね。
>こんばんは。
色々と試してみてなんとなくiPhoneの空きメモリ容量に関係しているかもしれない気がしてきました。
メモリ管理アプリで空きメモリを増やした所、順調にyahoo.co.jpでも受信が出来ています。
yahoo.comとyahoo.co.jpでimapの仕様が微妙に違うのか、iOSのバグかわかりませんが、メモリの空き容量に関係しているのであれば、端末依存で起こる事象も納得がいきます。
もし、受信が不安定な方がいれば、メモリ管理アプリで空きメモリを増やしてみるといいかもしれません。
>なるほど。
自分もメモリ管理ツールでよく未使用領域を開放しているからプッシュするのかな。
なんとも訳わからんバグですね(;´Д`)
検証ありがとうございますヽ(´ー`)ノ
お世話になります。
以前こちらの記事を拝見させていただき、無事DTIのVPSを利用してimoten鯖を構築させていただきました。
しばらくは何事もなく利用していたのですが、何を思ったかGoogleの2段階認証プロセスを有効にしてしまったがために、Googleアカウントにひもづく様々なサービスが認証失敗となる大惨事になりました。「アプリケーション固有のパスワード」を設定することで個別に認証させることが出来ることはわかっていたのですが、そこに気づくまでにしばらく悩んでおりました。imoten.iniでのsmtp authをにおけるパスワードを、あらかじめ作成した固有のパスワードへ変更することで対応可能です。もしよろしければそのあたりの記事を投稿していただけると今後の参考になればと思い、こちらにコメントを入れさせていただきます。当方では無事設定が完了しておりますが、のちのちの検索者?のためにも、是非よろしくお願いいたします。
GmailのExchangeのサポートが今月末で打ち切られてしまうんですよね。
来月以降はGmailで設定することができなくなります。
なので、今はOutlook.comを使った設定を推奨しています。