2014年9月24日水曜日

docomoのプッシュ受信が始まりました

待ちにまった、docomoのメールのプッシュ受信です。
9月24日 10時に開始だそうですが、どのように設定が変わるのかを確認したいと思います。

24日 8:40時点では、docomoのメールサーバー imap.spmode.ne.jp の、IMAPのCAPABILITYは以下のとおりです。

fetchmail: IMAP< * OK .
fetchmail: IMAP> A0001 CAPABILITY
fetchmail: IMAP< * CAPABILITY IMAP4rev1 NAMESPACE IDLE LITERAL+ UIDPLUS QUOTA AUTH=LOGIN
fetchmail: IMAP< A0001 OK .

同じくdocomoのメールサーバー imap2.spmode.ne.jp の、IMAPのCAPABILITYは以下のとおりです。

fetchmail: IMAP< * OK .
fetchmail: IMAP> A0001 CAPABILITY
fetchmail: IMAP< * CAPABILITY IMAP4rev1 NAMESPACE IDLE LITERAL+ UIDPLUS QUOTA AUTH=LOGIN XAPPLEPUSHSERVICE

fetchmail: IMAP< A0001 OK .

imap2.spmode.ne.jpは、XAPPLEPUSHSERVICEに対応しています。

このXAPPLEPUSHSERVICEがポイントです。iOSのメールアプリはこれを認識すると、そのメールアカウントをプッシュとして設定できるようになります。

プッシュ設定がされている場合、メールアプリはメールサーバーに対してAPNs(AppleのPUSH通知サービス)を使う登録を行います。
その登録がなされると、メールサーバーは新規メール受信に対してプッシュ通知を行うようになります。そして、プッシュ通知を受け、メールアプリは自動受信を行います。
これが、iOSのプッシュ受信の仕組みです。

早速、imapサーバーをimap2.spmode.ne.jpとしてメールアカウントを登録してみました。「プッシュ」が選択できること、およびプッシュ受信され、プレビューも表示できることを確認しました。

まとめ:
imap2.spmode.ne.jpはすでにプッシュ受信に対応しています。

参考 au

fetchmail: IMAP< * OK [CAPABILITY IMAP4rev1 XAPPLEPUSHSERVICE AUTH=PLAIN AUTH=CRAM-MD5 SASL-IR] EZweb_mail IMAP4rev1
fetchmail: IMAP> A0001 CAPABILITY
fetchmail: IMAP< * CAPABILITY IMAP4rev1 XAPPLEPUSHSERVICE AUTH=PLAIN AUTH=CRAM-MD5 SASL-IR NAMESPACE

fetchmail: IMAP< A0001 OK CAPABILITY completed

2014年9月6日土曜日

私のiPhoneでのメールの使い方〜その3

つづきです
その1
その2


6.送信はマルチアカウント対応のアカウントを経由して

iPhoneのメールアプリには、3つのたいへん便利な機能があります。

1つは1アカウント複数アドレス対応です。

IMAPアカウントでは、1つのアカウントにメールアドレスを複数登録し、送信の際にそのアドレスを送信元として選択することができます。
登録の方法は簡単です。メールアカウントの登録の際に、メールアドレス欄に複数のメールアドレスをカンマ区切りで列記すればOKです。

2つめは、返信時の送信元アドレス自動選択です。

受信したメールに記載された「もともとの」宛先アドレスが受信アカウントに設定されたメールアドレスの中に列記されていた場合、返信する際のデフォルトのメールアドレスとして、元のメールの宛先アドレスが自動的に設定されます。

メールを転送して集約していると、返信する時に送信元メールアドレスを変え忘れることがありますよね。「この人にはキャリアのアドレスで送るつもりだったのに」とか。
このミスがなくなります。

3つめは、宛先アドレス候補利用時の送信元アドレス自動選択です。

メールアドレスを途中まで打つと、過去に送信した宛先のアドレスが候補に出てきますが、この中から宛先を選ぶと、同時に返信する際のデフォルトのメールアドレスとして、その宛先に送った際の送信元アドレスが自動的に設定されます。

返信でなく新規作成でメールを送る際にも、アドレスの選択ミスがなくなる、ということです。

この機能を活用するために、以下のような設定をしています。

■簡単な方法

メールアカウントを登録する際に、SMTPサーバーをGmailにします。IMAPサーバーがYahoo!やAOLでも構いません。送信SMTPサーバーをsmtp.gmail.comにして、送信時の認証情報はGmailのものにします。

Gmailはアカウントを複数登録し、そのSMTPサーバー経由で発信することができます。集約している転送元アドレスと、そのSMTPサーバー、認証情報を設定しておけば、そのアドレスから発信されます。この場合、その元アドレスのメールサーバーを経由しますので、なりすまし拒否に引っかかる恐れがありません。

このやり方は簡単ですが、以下の欠点があります。
  • アカウント数に制限がある。
  • 受信者が、送信中継させたGmailのアドレスを見る方法が存在する。(ヘッダに残っているため)
  • 宛先がGmailの時には使えない。(アカウントのメールサーバーを使用せずそのまま届いてしまう。あまり問題にならないかも知れませんが。)

■私の使っている方法

imoten/fetchmailを動かしているメールサーバーのpostfixを使い、送信元の振り分けをしています。ちょうどGmailがやってくれることを自前でやるわけです。

これを実現するには、sender_dependent_default_transport_mapsを使ってSMTPサーバーを設定し、smtp_sasl_password_mapsを使って認証情報を設定します。

安全にこの機能を使うためには緻密な設定が必要です。リクエストがあれば記事にします。

7.VIP機能と別アカウントを活用

これまで説明したようにメールを設定し、メール通知も便利に使うと気になることが一つ出てきます。

ロックされた画面に出したい内容、出したくない内容がある、ということです。
この人からのメールは人に見られたくないから、プレビューは出したくないなー、とか。

iPhoneのメールアプリでは、VIP機能とアカウント別設定でこの出し分けができます。この機能を使いこなせばさらに便利になります。

VIP機能は、同一アドレス宛に送られてくる返信が必要な相手のうち、特定の送信者だけを特別扱いする場合に利用します。
VIPといっても、大事にする相手だけでなく、無視したい相手にも使えます。「これらの相手からのメールはロック画面に表示しない」ということもできます。

アカウント別設定は、メルマガのような返信が不要な相手に対して扱いを変える時に便利です。

ここから、私の使い方です。
  • 緊急性のないメルマガは、集約アカウントであるGmailのフィルタの送信元判定で別Gmailアカウントに転送して削除。別Gmailアカウントは通知なし。音もなし。バッジもなしに設定。
  • 別GmailアカウントはGmailのフィルタで自動的に既読に。これでメルマガは、全受信ビューには表示されるけど既読になっているので、急ぎの時には未読のメールだけ、ヒマな時はすべて見ています。読み終わったかどうかの管理はアーカイブで。
  • メールは読み終わって内容を覚えておく必要がなかったらアーカイブ。受信ボックスはできるだけ空に。
  • Gmailのフィルタで、送信者が自分の場合は自動的に既読に。既読メールに対しては通知がなされないので、「常にBccに自分を追加」している人は便利。送信完了確認がいらなければ、自動的にアーカイブしてもいいかも。

これで、「メールは読んだけどそのあと忘れてた!」とか「急ぎのメールに気づかなかった!」とかなく、快適に使っています。

まとめ

いろいろ考えながら設定していった結果、こんなふうになりました。

私のiPhoneでのメールの使い方〜その2

つづきです
その1


4.メールの集約は、転送とfetchmail/imotenで

少しマニアックになってきました。
ezweb.ne.jpなど、プロバイダ側で転送をしてくれるものもありますが、プロバイダによっては転送ができなかったり、転送が有料サービスだったりします。

そこで私は、Linuxサーバー上でimotenを動かすと同時に、fetchmailも動かしています。

fetchmailはIMAPおよびPOP3に対応しています。自分で待ち時間を設定できるのでGmailのように1時間待たされることもありませんし、docomo.ne.jpのようにIMAP IDLEに対応しているアカウントでは使い方によってはほぼ即時転送されます。

私は以下のような集約をしています。

プロバイダによる転送
  • ezweb.ne.jp
  • Gmail
  • Yahoo
  • Outlook.com
imoten
  • docomo.ne.jp (iモード+SPモードのiモード側アドレス)
fetchmail
  • プロバイダメール
  • i.softbank.jp
  • docomo.ne.jp (iモード+SPモードのSPモード側アドレス)
未対応(集約できず…)
  • docomo.ne.jp (iモード Bアドレス)

これらのメールを、受信専用アドレスに転送しています。
fetchmailの設定にご興味がありましたら、リクエストください。記事にします。

5.メールの集約先は一長一短

現在、メールアプリで利用できるプッシュ対応メールは以下のものがあります。
  • iCloud
  • Yahoo!
  • AOL
  • Outlook.com
  • Gmail(Gmailアプリが必要)
  • i.softbank.jp
  • ezweb.ne.jp
  • docomo.ne.jp
ここでは、送信に利用するメールアドレスのことはいったん忘れてください。
Outlook.comはEASだから除外。iCloudは貴重な容量なので除外。
キャリア系は保存容量も小さく、MNPで失われるので除外。

おすすめは、Yahoo!とAOLです。ただ、今まで使っていた中でYahooは特定のメール転送を拒否するようです。この点はYahoo!とAOLを使ってみて、もうちょっと継続して調べます。

私は、Gmailを使っています。Gmailアプリを併用して通知をさせ、通知をタップしてメールアプリを開けない欠点はありますが、フィルタが柔軟である、Gmailのみにある「すべてのメール」というビューは送受信メールを一度に見られる、というそれを補う便利さがあります。

Gmail以外では、「常にBccに自分を追加」するといいかもしれません。そうすれば、「すべてのメール」ビューがなくても同様のことができます。

さらにつづきます

2014年9月5日金曜日

私のiPhoneでのメールの使い方〜その1

何回かに分けて、iPhoneでの私のメールの使い方を書いてみたいと思います。
  • 複数のメールアドレスを使いたい。
  • 受信したメールアドレスから返信したい。
  • iPhoneに登録するアカウントはできるだけ少なくしたい。
    (通信時間が長くなり、電池を食うので)
  • メールはプッシュでリアルタイム通知したい。
  • 通知ではメールのプレビューが見たい。
  • VIPを使いたい。
  • メールは長期間保管して、検索できるようにしたい。
  • iPhone以外からも見たい。

こんなわがままなニーズに対応できるようにしています。
最初は簡単な部分から始めますが、最後はマニアックな設定をご紹介していきます。

1.メールは「メール」で

SMS/MMSによるメッセージも使い勝手はよいのですが、以下の点では不便です。
  • 長いメールはとても読みにくい。(PCメールの転送先に不向き)
  • 過去のメールは、iPhoneからでないと見られない。
  • WiFiが入っても、3G/LTEが不安定のところでは届かない。
  • 未受信メールの確認操作が面倒。
  • タダじゃないキャリアもある/キャリアまたぎは有料。

短い文面のひんぱんなやり取りは、最近はLINEになってしまいました。
ですので、メールは「メール」を使っています。

2.メールはIMAPで

 IMAP以外にも、iPhoneはExchange Active Sync(EAS)やPOP3にも対応しています。
それぞれの特徴は以下のとおりです。

IMAP
  • メールの移動(受け入れ)ができる。
Exchange Active Sync
  • プッシュ通知のために個別でTCPセッションを張りっぱなしになるので、電池を消耗する。
  • 複数の送信元アドレスを使い分けられない。
  • 送信者名を設定できない。(サーバー側で固定される)
POP3
  • ローカル保管なので、他の機器から見ることができない。
    (削除しない、という手はありますが、メールサーバーからの読み込みが遅くなる)
  •  メールがバックアップできない。
というわけで、私はIMAPを使っています。

3.メールは転送してひとつのアカウントに集約

iPhoneはメールアカウントを複数登録できますが、アカウントが多くなるとどうしてもメールの読み込みの通信時間が長くなります。私は、ひとつのメールアカウントに転送して、そのメールボックスだけを使うようにしています。
この時に起きる以下の問題は、回避方法を次回ご紹介します。
  • 送信するメールアドレスを複数使い分けたい。
  • 転送できないメールアカウントがある。

では、また次回に。

2014年9月2日火曜日

imoten 1.1.48 の暫定パッチ

imotenをいつも便利に使わせて頂いておりましたが、先日のiモード.netの仕様変更(恐らくdocomo IDのシングルサインオン対応)により使えなくなってしまいました。

公式で対応して頂けるまでの間使うために暫定パッチを作成しましたので、公開します。
どちらかお好きなほうをお使いください。

なお、このパッチはimotenと同じGPL v3ライセンスが適用されます。
ソースコードは、imoten配布元(ベース部分)および上記(パッチ部分)から入手頂けます。

追記 2014.09.08
9/7 8:30〜21:30の間、サーバーメンテナンスを行っておりました。
ご迷惑をおかけしました。