レンタルサーバー・自宅サーバー設定・構築のヒント
レンタルサーバー・自宅サーバー設定・構築のヒント - レンタルサーバー・自宅サーバーの設定・構築情報を公開しています。

DovecotでIMAP IDLE を使った Pushメールを体験してみる

2013年3月12日 2014年1月15日
Dovecot pushmail

以前に Dovecotでメールを受信する でDovecotの基本設定について解説しました。
今回は、そのDovecotを使って、携帯メールのようなメール通知を行う Pushメール を体験してみます。

Dovecotは、IMAP IDLE コマンドに対応していて、
クライアントから IMAP IDLE コマンドを送信すると、サーバーは、クライアントが Idling することを許可します。
ただし、TCP接続はそのまま接続した状態を保つのがポイントで、
クライアントがIdling 中であっても、サーバー間との接続は保たれていますので、メール受信した場合に Idling 中のクライアントへ EXISTS 応答メッセージ を送信することで クライアントへメール受信の通知を行い、いわゆるPushメール機能を実現する・・・というものです。

では、早速、簡単に解説してみます。

Dovecot での IMAP IDLE コマンドとPushメールの処理の流れ

Dovecot での IMAP IDLE コマンドとPushメールの処理の流れについて、簡単に解説しておきます。

以下は、IMAP4 IDLEコマンドを利用した Pushメールの大きな流れです。この図をもとに解説します。

imap4 idle command
  1. IMAP4接続要求 します。
  2. CAPABILITY コマンドを送信します。

    このコマンドで、Dovecotサーバーが、IDLEコマンドに対応しているか確認します。
    この応答メッセージに、対応しているコマンドについて情報が送信されます。(ここでは省略しています。)

  3. AUTHENTICATE コマンドを送信します。

    このコマンドで、Dovecotサーバーへのログイン要求します。
    認証OKの場合はログイン許可します。(ここでも細かいやり取りがありますが、詳細は省略しています。)

  4. SELECT INBOX コマンドを送信します。

    このコマンドで、Dovecotサーバーへのログインしたユーザのメールボックスを選択します。
    ここで、該ユーザのメールボックスにメールがあれば、EXISTS応答メッセージを送信し、メールがあることを通知します。
    (そのあと、メールの受信制御がありますが、詳細は省略しています。)

  5. IDLE コマンドを送信します。

    このコマンドで、クライアント側がIDLE状態となることを宣言します。
    Dovecotサーバー側は、これを受信すると、クライアントがIDLE状態と認識し、該ユーザへのメールが受信するまで、Aliveメッセージ以外は送信しなくなります
    また、ここで大事なのは、TCPの接続状態をそのまま保持する点です。接続のままなので、後でメールを受信した際に、クライアント側へ通知することができます。

    Aliveメッセージ は、TCPの接続が保持されているか、クライアントがまだ生きているか確認するためのメッセージを一定間隔で、Dovecotサーバーからクライアントへ送信します。
    これが、Dovecotでは、“OK Still here” メッセージと言われていて、 Dovecotの設定ファイル(dovecot.conf)の中で その送信間隔を imap_idle_notify_interval (デフォルト 120秒)で指定することができます。
  6. EXISTS 応答メッセージを送信します。

    このメッセージで、クライアントへメールを受信したことを通知します。
    クライアント側は、この通知で通常状態へ復帰し、メール受信処理を行います。


DovecotでIMAP IDLE を使ってPushメールを体験してみる

Dovecot でimap4 に対応する

少なくとも Dovecot でimap4 に対応している必要があります。
Dovecotの設定ファイルで、protocolsパラメータを確認してください。


Dovecotの設定ファイルは、各ディストリビューションでファイルパスが異なります。
CentOS5 では、/etc/dovecot.conf
CentOS6,ScientificLinux6,Debian6,Ubuntu10,12 では、/etc/dovecot/dovecot.conf を、それぞれ編集します。

...
# 少なくとも imap imaps のいずれかが設定されている必要があります。
# ここでは最小限の設定としています。
protocols = imap
...
Debian6,Ubuntu10,12 では、対応プロトコル(imap , pop3)でパッケージが異なります。 dovecot-imapdがインストールされていない場合は、インストールしましょう。
$ aptitude install dovecot-imapd
...

編集を終えたら、Dovecotを再起動しておきます。

$  /etc/init.d/dovecot restart
...

Thunderbird でPushメールを体験してみる

メールクライアントでPushメールを体験するには、 メールクライアント自体がIMAP IDLE に対応していなければなりません。

メジャーなところは、概ね対応していると思いますが、ここでは、フリーメールクライアントとしてメジャーなThunderbird を使ってみます。
実は、Thunderbirdはimap4 を選択するだけで、あとは何も設定することなく、Pushメールを体験できます。

一応、簡単に解説しておきます。ほとんどアカウントの設定だけです。


  1. メニューの[ ツール ] – [ アカウント設定 ]でアカウント設定画面を開きます。
    thunderbird_acount1
  2. アカウント設定画面の左下部、[ アカウント操作 ] – [ メールアカウントを追加 ]でメールアカウント設定画面を開きます。
    thunderbird_acount2
  3. メールアカウント設定画面で、名前、メールアドレス、パスワードを入力し、[続ける]をクリックします。
    thunderbird_acount3
  4. メールアカウントが正しく認識できた場合は、画面下の[完了]をクリックします。

    ただし、必ず、ここで受信サーバのプロトコルがIMAPとなっていることを確認した上で、[完了]をクリックします。

    thunderbird_acount4-2

    また、正しく認識できなかった場合は、サーバー情報などを確認の上、[再テスト]をクリックします。

    thunderbird_acount4

    [完了]をクリックすると、TLSによる暗号化を行っていない場合は、以下のような警告画面が表示されます。

    thunderbird_acount4-3

    ここでは、テスト用でもあるので先に進みます。
    接続する上での危険性を理解しました。にチェックし、[完了]をクリックしてアカウントの登録を完了します。
    (本番では、しっかりセキュリティ強化を図ってください。)

  5. メールを送信して確認してみます。

    サーバーからメールコマンドで単純に以下のようにメールを送信してみます。

    $ mail hoge@exmaple.com
    Subject: TEST IMAP IDLE
    TEST IMAP IDLE
    .
    EOT

    メール送信から間を置くことなく、Thunderbirdが新着メールを知らせてくれたことと思います。
    thunderbird_newmail


いかがだったでしょうか?
Dovecotの設定は簡単?というよりIMAPさえ使えるようになっていれば、デフォルトのままでほぼOKのはずです。

あえてDovecotの設定を変更するとしたら、先にも書いたように imap_idle_notify_interval (デフォルト120秒)の設定を変更するぐらいでしょう。
この設定を長くすれば、それだけ無駄にパケットの送受信をしないで済みますが、これが長すぎるとTCPの接続は、自動的に切断されることがあります。 それは、ルーターであったり、モバイルであれば、その他の中継機器だったり、無駄にリソース(回線)が使用されていると判断されてしまうことがあります。 TCPの回線が接続されているから、Pushメールが実現できるのであって、これが切れてしまうと通知できませんからね。

設定を変更しても長すぎると機能しない可能性有りなので、十分注意しましょう。

また、これは、モバイル端末(タブレット、スマートフォン)でもIMAP IDELに対応したアプリを使用すれば、同じようにPushメールが実現できます。
モバイルのときは、先のimap_idle_notify_interval の設定に 特に気を付けましょう。 バッテリーの寿命を短くしたり、異常にパケット代が増えたりするかもしれません。 十分な注意が必要でしょう。
ご利用のブラウザは、広告ブロック(AdBlockなど) が適用となっていませんか?
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない検索ができないことがあります。


関連記事 :

Debian(Ubuntu)でDovecotでメールを受信する ( POP3s,IMAPs ( STARTTLS or SSL/TLS ) にも対応 )

今回は、pop3 , imap によるメールの受信 を行うための dovecot の設定例です。 CentOS,Scientific Linu ...

Dovecotでメールを受信する

今回は、前回「sendmailを使って内部メールをgmailへ転送する」の続きでsendmail を使っているときのdovecot の設定例です ...

Dovecotで POP3s,IMAPs ( STARTTLS or SSL/TLS )を使うための設定

以前の記事 Dovecotでメールを受信する の続きになります。 今回は、Dovecotで POP3s,IMAPs ( STARTTLS or ...

Dovecotでfchmodのエラーが出た時の対処

LogWatchなどでDovecotのログを確認していると以下のようなエラーメッセージが出力されることがあります。 **Unmatched ...

Debian(Ubuntu) で PHP をインストールしてもデフォルトでSQLiteは動作しない

Debian(Ubuntu) でもRedHat系と同じようにバイナリパッケージをインストールできます。 そこで、PHPのバイナリパッケージをイ ...



コメントを投稿 :

お名前 *

メールアドレス *
( メールアドレスが公開されることはありません。)

サイトアドレス

コメント *

* 印の項目は、入力が必要な項目です。




最近投稿の記事

[ 画像提供元 : Amazon ] 先日、1TBのディスクの入れ替え時にバックアップをとろうとディスクコピーを行いました。 その際 ...

Windows で Linux ファイルシステム Ext4 のディスクをマウントするには? Ext3Fsd が、おそらく、最も簡単なツール ...

今回は、Windows で Compass を使ってみました。 Compass とは、 Sass(サス、Syntactica ...

今回は、Anti Adblock を使ってみました。 Anti Adblock とは、 そもそも Adblock という ウェブ ...

デスクトップ環境でない サーバーで、Webページのキャプチャー画像をコマンドで撮る には、wkhtmltoimage, CutyCapt ...


さくらのVPS 全プラン リニューアルです。(石狩(北海道)も選択可)


root権限ありで ¥685 / 月 ~ と非常にリーズナブルな CPU 1(core)の 512 プランから、 最高 CPU 10(core), メモリ 32(GB), SSD容量 800(GB) までとプランが充実。
ディスクは、SSDとHDDの選択が可能になった他、データセンターは人気の東京、石狩(北海道)となりました。

また、どのプランでも好きなOSが選べます
( CentOS, Fedora, Scientific Linux, FreeBSD, Ubutu, Debian )

管理人もおすすめのVPSです。
試用期間がありますから、一度、お試しを!!

詳しくは、http://vps.sakura.ad.jp/さくらのVPSのサイトへ へどうぞ!!

カテゴリ


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。
最近、スワップにも対応した Serverman@VPS は、かなりリーズナブルかもです。

  • メモリ1GB~2GBのEntryプラン :月額:490円
  • メモリ2MB~4GBのStandardプラン :月額:980円
  • メモリ4GB~8GBのProプラン :月額:1,980円

新規申し込みで1ヶ月間完全無料となるキャンペーンを実施中です。
Serverman@VPSの特徴は、安さとIPv6対応です。また、初期設定費0円もポイントです。

IPv6でちょっと遊んでみたい方には、おすすめかもしれませんね。最低利用期間もありませんから、気に入らないときは即解約もできます。

Serverman@VPSの詳細については、 http://dream.jp/vps/ Serverman@VPSのサイトへへどうぞ。



KVM採用 ConoHa VPSは、時間単位で借りれる便利なVPSです。


ConoHa VPS は、初期設定費0円最低利用期間無し時間単位で清算可能、 さらに、Web APIを使って自動化を図ることもできる便利なVPSです。

海外サーバー設置も可能で、ローカル接続にも対応と、かなり、機能豊富なサーバーです。

新規ユーザ登録で、クーポンもらえますから、まずは、お試しですね。

ConoHa VPSの詳細については、
http://www.conoha.jp/ へどうぞ。

KVM採用 お名前.com VPS(KVM) 2G プラン 初期設定費無料 キャンペーン 実施です。


メモリ2GBプラン CPU:3core、Disk:200GB
月額:1,153円から (初期設定:1,680円0円)

さくらのVPSがリニューアルされてもなんのその。
1GBメモリ / 2Core を ¥834 – の格安価格で提供中です!
間違いなくスペックからすると割安感ありです。
年間割引時の途中解約で返金がないのは、 ちょっと残念ですが、それでもこの割安感は魅力です。

まずは、お試しですね。

お名前.com VPS(KVM)の詳細については、
http://www.onamae-server.com/vps/ へどうぞ。(お試し期間が15日あります。)



  • ソーシャルブックマーク

  • はてなブックマークへ追加するはてな登録数
ページトップへ
Time : 0.2311 [s]