2010年4月23日金曜日

i.softbank.jpとGmailの統合

i.softbank.jpのメールをGmailで管理しようという試みです。


今は、iPhoneも普通にMMSが使えるようになったので、余り取り上げられることが少なくなりましたが、このi.softbank.jpのメールは、PCメールでありながら、携帯メール扱いされる非常に重宝するものです。
普段はGmail使ってるけど、ありがちな迷惑メールフィルタ掛かっている携帯アドレス宛にメールを送る場合などに重宝します。まぁMMS使えばいいですけど、携帯でメールを打つのが苦手な人には迷惑メールフィルタを避ける目的のみで携帯メールを使うのも面倒なのです。それに履歴も残せますしね。
そこで、Gmailからi.softbank.jpのメールを送受信してみようということです。


では、早速Gmailの設定から・・・


[設定]->[アカウント]->[メールアドレスを追加]と選択して、


名前: あなたの名前(ご自由に!)
メールアドレス:xxx@i.softbank.jp


[次のステップ]->「i.softbank.jp SMTP サーバー経由で送信する」を選択


SMTP サーバー: smtp.softbank.jp
(smtp.i.softbank.jpではない!「i」は不要!)
ポート:465
ユーザー名:「xxx@i.softbank.jp」の「xxx」の部分
「セキュリティで保護された接続(SSL)を使ってメールを送信する」をチェック


[アカウントを追加]->xxx@i.softbank.jp宛に確認メールが来るのでメールに書かれている確認コードを入力->[確認]


これで、Gmailからxxx@i.softbank.jpを差出人として、ソフトバンクのメールサーバからメールを送信することが可能になった。メールを作成するときに、Fromフィールドをxxx.i.softbank.jpに変更すればOK。


問題は受信。このままだと、送信したメールに相手が返信すると、ソフトバンクのメールサーバで受信しておしまい。iPhoneから確認するしかない。(もしくはそれ用に設定したPCのメーラか・・・)Gmailには他サーバからの受信機能もあるが、POP3しか対応してない。逆にi.softbank.jpのメールサーバはIMAP4しか対応していない。


では、i.softbank.jp側で届いたメール転送すればいいのだがソフトバンクはこれを設定することができない。


残された手段は、定期的にPCのメーラを常時立ち上げておいて、i.softbank.jpのメールサーバからメールを定期的に受信し、ルール等で転送設定するしかない・・・でも少しスマートではない・・・


で、自宅Linuxサーバが前提になるけど、fetchmailでできないか考えてみた。
fetchmailをcronで回して、新着があったらGmailに転送すればいいかなと。


ちょっと、調べてみると最近のfetchmailはimap-idleに対応しているらしい!
じゃ、これでセッション張りっぱなしにすれば、新着メールがくると同時に転送可能ではないか!と思いきや、i.softbank.jpのIMAPはidleに対応していない・・・orz


意気消沈しながらさらに調べてると、fetchmailの更新履歴で、


・IMAPサーバが「IDLE」リクエストをサポートしていない場合でも、「NOOP」コマンドによって代替処理を行うようになった。
これは!!!
早速やってみた。


自宅のLinuxサーバ(ubuntu)にて、fetchmailを導入して設定。


$ sudo apt-get install fetchmail
$ vi ~/.fetchmailrc



set postmaster xxx@gmail.com
set nobouncemail

poll imap.softbank.jp
proto imap
timeout 30
username xxx
password ********
smtpname xxx@gmail.com
smtphost 127.0.0.1
idle
no mimedecode
keep
ssl



postmasterとsmtp nameは転送するGmailアドレスでOK。
username は「xxx@i.softbank.jp」の「xxx」の部分。


これを保存して、


$ chmod 600 ~/.fetchmailrc
$ fetchmail & 


とすれば、セッション張りっぱなし(擬似?)でi.softbank.jpにメールが届くと、即座に転送をかけてくれます。ログの処理とかはご自由に・・・完全に自分専用のサーバなんかだと、/etc/fetchmail.rc に上と同じ設定をして、デーモン起動させてもいいかも。
/etc/init.d/fetchmail (start|stop|restart)で制御可能ですし。
Gmailなので、転送先のアドレスを「xxx+isb@gmail.com」とかこのfetchmail経由で転送したことを判別できるようにしておけば、Gmailのフィルタで、


deliveredto:(xxx+isb@gmail.com) OR from:(xxx@i.softbank.jp)


こんな条件でひっかけて、ラベルを付けておけば分かりやすい。


あと、このままだと、万一iPhoneやPCのメーラなどから自分が送信したメールはGmailに転送されないので、iPhoneとかPCメーラで送信時には自信のアドレスをBCC送信する設定にしておくと良い。
これで完璧!なはず・・・


唯一の難点は絵文字が化けて「〓」になることぐらいであろうか・・・デコメ絵文字はOK。どうしても見たけりゃ、iPhoneでi.softbank.jpのサーバを覗きに行けば見れます。



7 件のコメント:

  1. 自分も@i.softbank.jpのメールをGmailで受信したいです。記事を読ませていただきましたが、初心者の私にはいまいちよくわかりませんでした。自分はMac OS 10.6.6を使っているのですが、Macでもできますか? 無料レンタルサーバーでもできますか? できるようでしたら、お手数ですがやり方を教えていただければありがたいのですが・・・よろしくお願いします!

    返信削除
  2. 自分も@i.softbank.jpのメールをGmailで受信したいです。記事を読ませていただきましたが初心者の私にはよくわかりませんでした。自分はMacBook Pro(OS 10.6.6)を使っていますがMacでもできますか? 無料レンタルサーバーでもできますか? できるようでしたらやり方を教えていただければ幸いなのですが・・・
    fetchmailの導入・設定もいまいちよく理解できていません。お手数かけて申し訳ありませんがよろしくお願いします!

    返信削除
  3. すいません。コメントに気づくのが遅れました。まだ見てくれているでしょうか・・・

    取り敢えず、私と同じことがしたいと言うことで・・・

    記事にも書きましたが、私の環境は自宅で余ったノートPCにLinuxを入れて運用してます。(これ専用ではないですが・・・)

    で、Macでも出来るかどうかですが、基本Unixなので、ゴニョゴニョすれば何とかなりそうですが、そこらへんあまり詳しくないです。
    って言うかそもそも、Macを常時起動状態にしておくなら、Mail.appなりThunderBirdなりで、メーラーにてメールを受信した際にGmailアドレスに転送するフィルタを掛けておけばいいですしね。


    それから、無料レンタルサーバですが、私が借りたこと無いのでよくわかりません。すいません。
    imap-idleをサポートしているfetchmailが使えれば、できるとおもうのですが・・・

    $ fetchmail --version

    でバージョンが6.3.3以降だと使えるはずですので、記事内の
    $ vi ~/.fetchmailrc
    ...中略...
    $ fetchmail &
    以降の設定でOKなはずですが・・・(Gmailで送信したい場合はGmailのアカウント設定も)

    それ以前のバージョンでも、若干の遅延を許容できるのであれば、fetchmailをimapやpopで受信する設定にして(上記設定からidleを消すだけ)、cronで定期実行すればOKだと思われます。

    返信削除
  4. 私、iphoneのsimをandroidで使っておりまして、どうやったらi.softbank.jpをプッシュで受け取れるか調べていました。

    この記事の通りにしたら無事 fetchmail でgmailの転送が出来ました!
    とても役に立つ良い記事ですね!

    返信削除
  5. Gmailからxxx@i.softbank.jpを差出人として、ソフトバンクのメールサーバからメールを送信することについて何ですが、
    上記の設定をしても

    認証できませんでした。ユーザー名/パスワードを確認してください。
    [サーバーの応答: 535 Authentication failed code(535) ]

    となってしまいます。つまりi.softbank.jpを追加できないです。なぜでしょうか?

    返信削除
  6. コメント有難うございます。

    名前:任意
    メールアドレス:xxx@i.softbank.jp
    エイリアスとして扱います。:チェック

    SMTPサーバ経由でi.softbank.jp送信します:選択
    SMTPサーバー:smtp.softbank.jp
    ポート:465
    ユーザ名:上記メールアドrスxxxの部分
    パスワード:パスワード
    SSLを使用したセキュリティで保護された接続(推奨):選択


    上記の設定でダメでしょうか?メッセージのままですが、ユーザ名とパスワードは合っていますか?

    返信削除
    返信
    1. 対応感謝します。
      はい、すべて合っていました。何度もトライしましたが・・・orz。
      結局Gmail経由を選択し利用しています。利用には差し支えないのでもう気にしていません。なのでもういいですよ。ありがとうございました。今後も参考にさせていただきます。

      削除