ポピュラーなIMAPクライアントに関する一般的なイントロダクションと設定は、imap/README(.html)をご覧下さい。
コンテンツ:
まずこの文書を読み進める前に、今こそFAQを読むいい機会です。FAQはimap/FAQ(.html?)に記載されています。
IDLEコマンドの実装が利用できます。これにより、同一のIMAPフォルダに同時にアクセスしているIMAPクライアントに対して、リアルタイムのステータス通知が可能となります。バージョン4.0より、認証ライブラリがCourier-IMAPのソースコードより独立し、スタンドアロン認証ライブラリとなりました。
アップグレードの前に、Courier認証ライブラリを http://www.courier-mta.org/authlib/よりダウンロードし、インストールしなければなりません。詳細はcourier-authlib パッケージに含まれる文書をご覧下さい。
4.0以降のバージョンにアップグレードした後に、混同を避けるため、旧バージョンの設定ファイル(*.distファイルを含む)はCourier-IMAPの設定ディレクトリより削除することをおすすめします。これらのファイルは今後、courier-authlibの設定ディレクトリ(/usr/local/etc/authlib、もしくはcourier-authlibのconfigureスクリプトで指定したディレクトリ)に配置されることになります。
Courier-IMAP 1.7.3以前のバージョンからのアップグレードを行うと、クライアントによっては、POP3メールボックス内の既存のメールが新着メールのように見える場合があります。また別のクライアントでは、アップグレード前にメールボックスに残っているメールを再びダウンロードする場合もあります。これらは一度限りの症状です。Courier-IMAP 2.0.0以降では、それ以前とはPOP3のメッセージIDの生成法が異なっています。POP3 IDを利用するメールクライアントは、アップグレード以前にPOP3メールボックスに残っていたメッセージが全て(ローカルにダウンロードしたものと同じ内容でありながらも)別の新しいメッセージに置き換えられたかのように振る舞うのです。全てのメッセージが未読の状態になるか、既にダウンロードしたメッセージを再びダウンロードするか、とちらが実現されるかは、POP3メールクライアントの振るまい方に依存します。
Courier-IMAP 1.3.0以降からのアップグレードは簡単に行うことができます。この場合は、下の方にあるインストールの項目の説明に従って下さい。
“make install-configure”コマンドは自動的に既存の設定を維持します。しかし、新しいバージョンのCourier-IMAPには大抵、新しい設定オプションが追加されていることに注意して下さい。make install-configureを実行した後、/usr/lib/courier-imap/etc(設定ファイルがデフォルトで配置されるディレクトリ)内の設定ファイルを逐一確認することをおすすめします。新しい設定が必要であるかを確認し、適切な設定を施すようにして下さい。
デフォルトの設定オプションが少し変更されています。最新のバージョンでは、デフォルトの設定スクリプトは常にauthdaemonモジュールをビルドします。そして、実際の認証に関わる全てのモジュールはauthdaemondに含まれます。これはauthvchkpwモジュールについても同様です。
Courier-IMAP 1.3.0では、自動的に設定ファイルをアップグレードできるように、設定ファイルのフォーマットが一新されました。また、これに伴い、いくつかの設定ファイルの名称が以下のように変更されました。
Courier-IMAP < 1.3 Courier-IMAP 1.3.0 -------- --------- imapd.config imapd imapd-ssl.config imapd-ssl pop3d.config pop3d pop3d-ssl.config pop3d-ssl
NEWSファイルには、現在どのようにして設定ファイルがインストールされるようになっているか、詳細が記述されています。基本的には、make install によって、(設定ファイル名).distファイルがインストールされ、make install-configureによって、(設定ファイル名).distが(設定ファイル名)にコピーされて、これが実際の設定ファイルとなります。古い設定ファイルが既に存在する場合には、その中の設定オプションは新しい設定ファイルに受け継がれます。
上記のように古い設定が受け継がれるのは、新旧二つの設定ファイルのフォーマットが同じ場合に限ります。Courier-IMAPは1.2.3以降で設定ファイルのフォーマットが変更されており、新しいフォーマットで書かれている場合にのみ、設定ファイルの自動アップグレードができるのです。バージョン1.2.3以前のCourier-IMAPからアップグレードする場合には、設定ファイルのバックアップが(設定ファイル名).bakの形で保存されるようになっています。
Courier-IMAP 1.2.3以前のバージョンからアップグレードする場合には以下の手順を踏むことが推奨されます。
/usr/lib/courier-imap/etcディレクトリ以下のファイルをバックアップする全ての設定ファイルは一つのディレクトリに納められています。/usr/lib/courier-imapディレクトリにあるファイル以外は設定することはできません。 バージョン1.3.0以降の設定ファイルを古いフォーマットの設定ファイルで上書きするのは避けるべきです。過去の設定をそのまま引き継ぎたい気持ちは分かりますが、これはやめましょう。正しく動くでしょうが、将来のリリースによる自動アップグレード機能は無効になるからです。
Courier-IMAP 1.2以降では、POP3サーバが同梱されていることに注意して下さい。インストールスクリプトはPOP3サーバをシステムにインストールします。もし必要がない場合でも、POP3サーバがインストールされているということは気を付けておくべきでしょう。Courier-IMAPをRPMによってインストールした場合には、POP3サーバもシステム起動時に起動されるようになっています。POP3サービスの提供が必要ない場合には、設定ファイル pop3d.configファイルとpop3d-ssl.configファイルを編集し、設定パラメータ POP3DSTARTとPOP3DSSLSTARTを“NO”に設定して下さい。
Courier-IMAPサーバが起動している場合には、アップグレードする前に明示的にサービスを停止するようにして下さい。
Courier-IMAPサーバをコンパイル・インストールする方法を以下に示します。(これは非常に基本的な方法であり、詳細な方法は後に述べます):
$ ./configure [ configureスクリプトのオプションは後の方を参照下さい ]
$ make
$ make check # Note - --enable-workarounds-for-imap-client-bugs オプション
# を付けて、configureスクリプトを実行した場合には、make check
# のステップでエラーが表示されるでしょう。
$ su root
# make install # もしくは、make install-strip。これは実行ファイルをストリップ
# (デバッグ情報を除いて)してインストールします。
# make install-configure # 設定ファイルをインストール。
# authdaemondプロセスを開始。
NOTE
configureスクリプトは必ず一般ユーザの権限で実行されなければなりません。rootユーザでは実行してはいけません。rootユーザでソースパッケージのtarballを展開した場合には?これではいけません。展開したファイルを削除して、大人しく一般ユーザでログインしなおしましょう。一般ユーザの権限でtarballを解凍・展開し、configureスクリプトを実行します。コンパイル済みのソフトウェアをインストールする作業の最終段階を除いては、全ての作業をroot以外の一般ユーザで行うのです。
NOTE
Courier-IMAPは
inetdやxinetdを利用しません。inetdまたはxinetdのIMAP/POP3ポートに関する設定は必ず無効にしておいて下さい。inetdまたはxinetdがIMAP/POP3の接続をlistenしている場合にはCourier-IMAPを起動することはできません。
上記の“必要なもの”で述べられているように、xBSDを利用している場合には、makeの代わりにgmakeを用いなければなりません。
NOTE: configureスクリプトの実行には、遅いコンピュータで5分から10分かかります。configureは実行中、無限ループに陥っているように何度も同じ表示がなされるでしょう。しかし、気にする必要はありません。Courier-IMAPはいくつものモジュール・コンポーネントの集合から成り立っており、コンポーネントごとに独自の設定スクリプトが用意されています。この設定スクリプトは多くの共通のコードを利用しており、一見同じconfigureスクリプトが繰り返し実行しているように見えるだけなのです。
configureスクリプトのオプションについては、後述します。
WARNING: make install 、あるいはmake install-stripを実行する前にumask値を022にセットしておくようにして下さい。
make install-strip をはじめに実行してみるべきでしょう。もしこれに失敗した場合には、make
installを実行して下さい。
configureスクリプトはいくつかのオプションを受け付けますが、デフォルトオプションのままで実行するのが最良の方法です。make installにより、全てのCourier-IMAPのファイルは/usr/lib/courier-imapディレクトリに配置されます。/etc/pam.dディレクトリがシステムに存在する場合には、make installは/etc/pam.d/imapファイルと/etc/pam.d/pop3ファイルを作成し、既にこれらが存在する場合には上書きを行います。既に他のIMAPサーバがインストールされている場合には、既存の/etc/pam.d/{imap|pop3}ファイルをあらかじめバックアップしておくと良いでしょう。
“make check”は内部的なチェックを行います。make checkが失敗した場合には、何らかの問題が起きていることになります。Courier-IMAPは期待通りの動作を行わない可能性があります。ある種のconfigureオプションは、標準とは異なるIMAPプロトコルに従うので、make check実行時にエラーが表示されるとされています。もしそのようなオプションをつける必要があるときには、まずはじめにそのオプションを付けずにCourier-IMAPをコンパイルし、make checkを実行するようにしてみましょう。そして、何ら問題がないことが判明してから、改めて別のディレクトリにソースパッケージを展開して、必要なオプションをつけてコンパイル・インストールするようにすると良いでしょう。
インストールが終了したら、/usr/lib/courier-imap/etcディレクトリに含まれる設定ファイルをよく確認し、必要であれば設定を変更します。
make installあるいはmake install-stripを実行したら、システム起動時にCourier-IMAPが自動起動されるように起動スクリプトを編集する必要があります。
以下のコマンドを実行して、Courier-IMAPサーバを起動します。 :
$ /usr/lib/courier-imap/libexec/imapd.rc start
上記のコマンドは、Courier-IMAPが/usr/lib/courier-imapディレクトリ内にインストールされていることを前提としています。Courier-IMAPを停止するには、以下のコマンドを実行します。
# /usr/lib/courier-imap/libexec/imapd.rc stop
上記のコマンドをシステムの起動・停止スクリプトの中に追加する必要があるでしょう。
SSLサポートを有効にするためには、Courier-IMAPのインストールを行う前に、OpenSSLをインストールする必要があります。OpenSSLをhttp://www.openssl.org/より、ダウンロードします。OpenSSLパッケージをインストールし、以下の手順に従って、設定します。現時点でSSLサポートの動作検証済みのOpenSSLのバージョンは0.9.5aです。
/usr/lib/courier-imap/lib/imapd-sslディレクトリ内の設定ファイルには、SSLサポートを利用する際の追加オプションを記述します。詳細は設定ファイル本体を参照してください。設定が終了したら、/usr/lib/courier-imap/libexec/imapd.rcと同様に、/usr/lib/courier-imap/libexec/imapd-ssl.rcをシステムの起動・停止スクリプトから実行させるようにします。両方のサービス起動スクリプトを実行することで、SSLを介した接続とそうでない接続の両方を受け付けることができます。
SSLサポートを有効にするためには、有効な署名済みのX.509証明書がCourier-IMAPが検索できる場所にインストールされている必要があります。デフォルトのX.509証明書の配置場所は、PEMフォーマットで/usr/lib/courier-imap/share/imapd.pemというファイルになっています。X.509証明書はIMAPクライアントが承認した認証局(CA)によって、署名されていなければなりません。/usr/lib/courier-imap/share/mkimapdcertを実行すると、自己署名した証明書を生成することができます。しかし、この場合にはIMAPクライアントはSSLを使った初めての接続のときに警告メッセージを表示するでしょう。この警告メッセージを表示させないためには、信頼されたメジャーな認証局に対して料金を支払い、署名済みのX.509証明書を発行してもらう必要があります。SSLを設定するための面倒な詳細は、この文書の関知するところではありません。OpenSSLのドキュメントにあたって、詳細な情報を得るべきでしょう。
mkimapdcertスクリプトは、既存のimapd.pem証明書を上書きします。これはバイナリ配布されたパッケージ(RPMパッケージを使っている場合など)がインストール終了後、mkimapdcertを実行するときに無用なエラーを表示させないようにするためです。
Courier-IMAPに含まれるPOP3サーバは、INBOXへのPOP3接続を提供します。POP3サーバを起動する手順は、IMAPサーバを起動する手順と似通っています。以下に両者の違いを挙げます。:
/usr/lib/courier-imap/etc/pop3dファイルと/usr/lib/courier-imap/etc/pop3d-sslファイルとなっています。
起動・停止スクリプトは、/usr/lib/courier-imap/libexec/pop3d.rcと/usr/lib/courier-imap/libexec/pop3d-ssl.rcです。
SSL証明書は/usr/lib/courier-imap/share/pop3d.pemであり、テストのための自己署名SSL証明書を生成するスクリプトは、/usr/lib/courier-imap/share/mkpop3dcertです。
システムがSystem-Vスタイルの起動スクリプトを利用している場合、courier-imap.sysvinitファイルをご覧ください。このファイルは、/etc/init.d内に配置する起動スクリプトのサンプルとなっています。courier-imap.sysvinitは、configureスクリプトによって生成されます。大抵の場合、単に/etc/init.dディレクトリ、あるいは/etc/rc?.dディレクトリにこのサンプルファイルをコピーし、実行権限を与えるだけでよいでしょう。
サンプル起動スクリプトはIMAP, POP3サービスにおいてSSLサポートが有効になっているかを確認します。SSLサポート有効時、SSL証明書が存在しない場合は、サンプル起動スクリプトはダミーのSSL証明書を初回起動時に自動的に生成します。
configureオプション:--prefix=pathname -インストール先のパスを指定します。デフォルトの指定値は、/usr/lib/courier-imapです。--without-ipv6 - IPv6サポートを明示的に無効にします。configureスクリプトは自動的に使用中のコンピュータがIPv6をサポートする環境であるかをチェックし、サポートされる場合にはCourier-IMAPをIPv6対応にします。このオプションは、IPv6環境が利用できるかできないかに関わらず、Courier-IMAPのIPv6対応を無効にします。Courier-IMAPにおけるIPv6対応とは、IPv6ソケットを生成し、IPv6接続を受け付けることを意味します。使用中のシステムがIPv6に完全に対応していない場合や、その実装にバグがある場合には、この--without-ipv6オプションを指定すべきでしょう。今日の多くのLinuxディストリビューションでは、glibcによってIPv6に対応しています。しかしながら、カーネルの方はIPv6サポートを有効にしてビルドされていないものがあります。この結果、modprobeコマンドを実行すると、/var/log/messageなどにIPv6のカーネルモジュールがロードできないとのエラーログを残すことがあります。この煩わしいメッセージを消すためには、--without-ipv6を付けて、configureスクリプトを実行すると良いでしょう。--enable-unicode - デフォルトで有効なISO-8859-1/US-ASCII以外のキャラクタセットを含むメッセージについても、検索とソート機能を有効にします。このオプションにより、すべてのキャラクタセットがCourier-IMAPで利用可能となります。詳細は下の説明をご覧ください。--enable-unicode=charset,charset,... - 指定したキャラクタセットについてのみ、これを含むメッセージの検索とソートを有効にします。詳細は下の説明をご覧ください。--bindir=pathname , --mandir=pathname - コマンドやマニュアルはデフォルトでは、prefixオプションで指定したパスのサブディレクトリに配置されます。これらのオプションは、コマンドやマニュアルのインストール先を変更します。詳細は後の説明をご覧ください。--with-db=db - GDBMライブラリの代わりにDB(Berkeley DBライブラリ)を利用します。Courier-IMAPのインストールには、いずれかのライブラリが必要となります。もし両方がインストールされている場合には、このオプションで明示しない限り、GDBMライブラリが利用されます。GDBMもしくはDBライブラリはCourierのいくつかの関数から利用されます。--with-piddir=dir - Courier-IMAPのPIDファイル imapd.pid(couriertcpdのプロセスIDを記したファイル)を指定したディレクトリに保存します。--with-userdb=file - ユーザデータベースファイルの保存先ファイルを、デフォルトのファイル名 /etc/userdb の代わりに指定します。(同様にuserdb.dat, userdbshadow.datを用いる場合にも、指定したファイル名が反映されます)--enable-workarounds-for-imap-client-bugs - いくつかのIMAPクライアントには様々なバグが発見されています。現在、不具合が判明しているIMAPクライアントには、Netscape MessangerやSun MicrosystemsのStarOfficeなどが挙げられます。このオプションは、これらのクライアントに内在するバグのいくつかを回避するためのものです。しかしながら、このオプションは正しくIMAPrev1を実装しているソフトウェアとの互換性を壊すかもしれない、ということに留意してください。また、このオプションを有効にしている場合には、“make check”の実行時にエラーが表示されます。これについての詳細は、パッケージ内のimap/BUGS.(html|txt)ファイルをご覧ください。make checkは失敗します。念のために、最初はこのオプションをはずしてconfigureスクリプトを実行し、コンパイルを行った後、make checkを実行しましょう。これが成功することを確認してから、あらためてこのオプションをつけて、Courier-IMAPを再度コンパイルしなおしましょう。
--with-trashquota - このオプションを指定すると、削除済みのメッセージやTrashフォルダの容量をMaildirに対するクォータ機能の推定使用量に含めます。クォータ機能(訳注:ユーザごとにメール用フォルダの容量制限を設ける機能)は追加的に利用できるもので、詳細はパッケージ内のmaildir/README.maildirquota.htmlをご覧ください。デフォルトの設定では、削除マークが付けられたメッセージ(実際にはまだ削除されていないメッセージ)やTrashフォルダ内のメッセージ(サーバにより自動的に削除される)の合計サイズはクォータ使用制限には含まれません。make checkは失敗します。念のために、最初はこのオプションをはずしてconfigureスクリプトを実行し、コンパイルを行った後、make checkを実行しましょう。これが成功することを確認してから、あらためてこのオプションをつけて、Courier-IMAPを再度コンパイルしなおしましょう。
--with-dirsync - このオプションを付けると、Maildirに新たなメッセージが保存されたとき(IMAP4のCOPY, APPENDコマンドによりIMAP経由でメッセージがMaildirにストックされた場合)、明示的にMaildirディレクトリについて、ハードディスク内のデータと同期を取ります。Linuxのext2形式のファイルシステムにおいては、新しいメッセージがハードディスクに書き込まれるとき、同時に親ディレクトリであるMaildirについても同期を行う必要がある、と信じている人々がいます。また、これに対し、そのようなことはまったく必要なく、むだなことを気にしすぎている(訳注 : 原文では、“a tempest in a teapot” = 「空騒ぎする」と表現されています)だけだ、と考える人々もいます。しかしながら、前者の言い分に従って、親ディレクトリに関しても同期を行うためのほんの少しの余計なコードをこのオプションを用いて、有効にすることもできます。Courier-IMAPサーバはus-ascii/iso-8859-1以外のキャラクタセットを用いるメッセージについても、検索とソートを行うことができます。利用できるキャラクタセットは、パッケージ内のドキュメント unicode/charsetlist.txtで確認できます。
デフォルトでは、ISO-8859-1, US-ASCIIのみCourier-IMAPにサポートされます。--enable-unicodeオプションをconfigureスクリプトで指定することにより、利用できるすべてのキャラクタセットのサポートを含めます。
また、以下のように指定したキャラクタセットのみをサポートすることもできます。
例 : --enable-unicode=iso-8859-1,utf-8,iso-8859-10
技術的には、IMAPサーバはUTF-8キャラクタセットをサポートしていなくてはなりません。しかしながら、UTF-8をサポートしているIMAPクライアントは少数です。(実際、作者自身はお目にかかったことがありません)このため、Courier-IMAPにおいてはUTF-8サポートは追加的な選択肢として提供されています。必ず必要なキャラクタセットは、ISO-8859-1/US-ASCIIであり、これは明示的に指定しようとしまいと、必ずCourier-IMAPに含まれることになっています。
キャラクタセット変換テーブルの利用には、多くのメモリを必要とすることに留意してください。しかしながら、これは多くの場合、問題になることはありません。大抵のコンパイラはキャラクタセットテーブルをメモリの共有テキスト・セグメントに配置するようにします。このメモリ領域は読み込み専用で1度の読み込みですべてのプロセスから共有参照することができるからです。このため、--enable-unicodeを利用しても、多くの現代的なオペレーティングシステムにおいては、過度のリソース消費を招くことはありません。
注意深い人は、--enable-unicodeオプションを付けていないのにもかかわらず、すべてのキャラクタセットテーブルがコンパイルされることに気がつくかもしれません。これは正常なことです。オプションの有無にかかわらず、すべてのキャラクタセットテーブルはコンパイルされます。しかし、実際に最終的な実行可能ファイルに含められるのは、明示的に指定したキャラクタセットテーブルのみとなっています。
--prefix, --bindir, もしくは --mandir オプションが指定されていない場合には、/usr/lib/courier-imapディレクトリ以下にすべてがインストールされます。
インストール先のディレクトリを変更するためには、--prefixオプションを利用しましょう。このディレクトリの中には以下のサブディレクトリが作成されます。
etc - 設定ファイルbin - バイナリファイルsbin - 管理者用バイナリファイルlibexec - 追加的なバイナリファイルman - マニュアルshare - スクリプト、データファイルvar - authdaemondデーモンプロセスが利用する一時的なファイル(authdaemon認証モジュールが選択されている場合)すべてのファイルを一つのディレクトリの配下にインストールすれば、Courier-IMAPの新しいバージョンをインストールするときに、バックアップが簡単になります。前のバージョンに戻すときには、単純にバックアップを配置しなおせばよいのです。
binやsbinに含まれるバイナリファイルはコマンドラインから、コマンドとして実行されることを考えれば、環境変数PATHにこれらのディレクトリを含めた方がよい場合もあります。システム全体の起動スクリプトでPATHの設定を変更するとよいでしょう。また、manコマンドよりCourier-IMAPのマニュアルを参照するためには、man(1)の設定ファイルを編集する必要もあるでしょう。以下にシステムの起動スクリプトに追加する内容の例を挙げます。:
PATH="/usr/lib/courier-imap/bin:$PATH"
if test -w /etc
then
PATH="/usr/lib/courier-imap/sbin:$PATH"
fi
export PATH
MANPATH="/usr/lib/courier-imap/man:$MANPATH"
export MANPATH
代替案としては、バイナリファイルやマニュアルファイルをデフォルトで検索される/usr/local/binや/usr/local/manなどのディレクトリにインストールする方法があります。このためには、--bindirや--mandirオプションを以下の例のようにつければよいでしょう。:
./configure --bindir=/usr/local/bin --mandir=/usr/local/man
--sysconfdirや--datadirオプションなどのオプションも同様にもちいることができます。正しくこれらを利用する術を心得ている人は同様に使うと良いでしょう。
Maildir内に“loginexec”という名前のファイルもしくはシンボリックリンクが存在し、これが実行可能なファイルである場合、ログインが正常に終了した段階でこの実行ファイルが呼び出されます。プログラムが正常に終了(終了コードが0)した場合、“loginexec”ファイル(もしくはシンボリックリンク)は削除されます。
Courier-IMAPは共有フォルダをサポートしています。共有フォルダの設定の詳細はREADME.sharedfolders.htmlをご覧下さい。
CRAM-MD5認証を用いると、IMAPクライアントは平文のパスワードをネットワーク上に流すことなく、認証を行うことができます。現在、Courier-IMAPはデフォルトでCRAM-MD5をサポートしますが、後述の理由で有効にはなっていません。CRAM-MD5サポートはある例外を除き、authcram認証モジュールによって実装されています。例外はLDAP/MySQL/PostgreSQLサーバが平文もしくは暗号化されていないパスワードを格納し、CRAM-MD5認証を行う場合です。このとき、authldap, authpgsql, authmysqlによりCRAM-MD5サポートが実装されています。
CRAM-MD5を利用するためにはもちろん、IMAPクライアントがCRAM-MD5認証に対応していなければなりません。これはあまり問題にはなりません。(※訳注:最近のIMAPクライアントは大抵、CRAM-MD5認証に対応しており、簡単な設定で利用することができます)
問題は、CRAM-MD5を用いてログイン認証を行う際、システムパスワードを使うことができないという点です。これは、CRAM-MD5が、認証トークンを計算するために、実際のパスワードを平文の形で知っておく必要があるからです。(実際にはパスワードはネットワーク上を平文の形で送信されないにもかかわらず、です)
このため、CRAM-MD5の実装は、Courier-IMAPに十分慣れ、一般的にどのように働くのかを完全に理解する必要がある、高度なタスクといえます。ここにCRAM-MD5認証を用いるための設定の概観を示します:
/etc/userdbデータベースファイルをインストール・設定します。これはCRAM-MD5認証が/etc/userdbデータベースを参照するからです。(LDAP固有の設定に関しては以下のNOTEをご覧下さい)userdbpw -hmac-md5 | userdb userdb set hmac-md5pwこの後、
makeuserdbコマンドをいつものように実行します。authldap, authpgsql, authmysqlによってもサポートされます。よって、LDAP, PostgreSQL, MySQLを利用し、平文パスワードをこれらに格納する場合には、このセクションで述べたように/etc/userdbをインストールする必要はありません。以上のような不運にも複雑になってしまった事情により、CRAM-MD5認証はインストール直後には無効になっています。CRAM-MD5を利用する準備ができたなら、imapd設定ファイルを編集し、IMAP_CAPABILITY環境変数に“AUTH=CRAM-MD5”キーワードを含めます。続いて、Courier-IMAPを再起動します。imapd設定ファイルにはこれらの設定に関する手順が記載されています。
CRAM-MD5認証を利用するつもりがない場合には、configureスクリプトのオプションとして--without-authcramオプションを指定するか、単純にimapdファイルを編集して、AUTHMODULES設定から“authcram”を削除すればよいでしょう。
Courier-IMAPではIMAP接続を用いて、Eメールを送信することができます。通常では、IMAPは存在するメールアカウントのメールへのアクセスのみを提供し、メールクライアントはメールの送信にSMTPを利用しなければなりません。Courier-IMAPサーバはIMAP接続を介したメール送信を、しかも全てのIMAPメールクライアントで利用できるようにするための追加設定が用意されています。この機能はSMTPポートへのアクセスを遮断した共用ゲートウェイを経由して、サーバにログインする場合には大変便利です。(※訳注:この一文はかなりフィーリング意訳をしてしまいました。原文は“This can be useful when an account is logged in from a shared access pool which normally blocks most access to the SMTP port.“です。“shared access pool”ってなんや?)
この機能を有効にするためにはimapd設定ファイルを設定します。この設定ファイルに特殊な“Outbox”フォルダとして認識させるフォルダを指定します。デフォルトの設定ではこの特殊なフォルダは“Outbox”(IMAP上のパスとしては、INBOX.Outbox)という名前になっていますが、この名前は自由に変更することができます。このフォルダは多くの点で他のフォルダと変わりません。指定した名前のフォルダが存在しない場合には、他のIMAPフォルダと同様に新規作成されます。他のフォルダと唯一異なる点は、このフォルダにIMAPのAPPEND, COPYコマンドを使ってメッセージが追加されたとき、メッセージヘッダのTo:, Cc:, Bcc:に指定されたアドレスに対してこのメッセージがCourier-IMAPによって送信されるということです。
以上の準備をした後、以下のような手続きでどのようなIMAPクライアントからでもメールを送信することができます:
NOTE: IMAPクライアントの設定で草稿中のメッセージを一時保存する(サーバ側の)下書き(草稿)フォルダとして(送信用フォルダである)Outboxを指定したくなるかもしれませんが…、それはやめておきましょう。うっかり未完成の草稿メッセージを一時保存するつもりが、そのまま送信されてしまうということがあるからです。
NOTE: 送信するためにOutboxフォルダに追加されたメッセージは他のフォルダに追加するとき同様に、このフォルダに保存されます。(訳注:送信されてもフォルダ内にメッセージは残ります)この後、Outboxフォルダを再び開き、送信済みのメールを削除するか別のフォルダに移動するかして下さい。
NOTE: IMAPを介したメール送信機能が有効になっている場合、Courier-IMAPサーバCourier-IMAPに固有の
XCOURIEROUTBOXIMAP capabilityをクライアントに通知します。理論的には、このcapabilityを理解するIMAPメールクライアントを開発することもでき、そのあかつきには以下のように自動的な設定を適切に行うことができます。すなわち、XCOURIEROUTBOXIMAP capabilityが有効である場合、メールクライアントは通常のメール送信の操作で、しかし(SMTPを利用せず)IMAP接続を介して、メールを送信することができるようになります。(訳注:つまり上のようにわざわざユーザが明示的に送信するメッセージをサーバ側のOutboxフォルダに移動するなどという操作をする必要なしに、通常のメール送信の操作を行うだけであとはメールクライアントが適切に処理をしてくれるということ)しかしながら現時点では、実際のメールクライアントソフトウェアがこのような振る舞いをどのようにサポート(XCOURIEROUTBOXIMAP capabilityを解する)するのかということについては開発者は気にかけていません。(訳注:プロトコルとしてはサーバソフトウェアに容易はしているけど、メールクライアントがそれを採用するかは知りませんよ、ということでしょう)
NOTE: 多くのメールクライアントは内部的な情報を送稿用のメッセージのヘッダに記述します。通常の方法でメールが送信される場合にはこれらの内部情報をメールクライアント側で削除します。IMAPを用いて送信するときには、これらの追記される情報のうち送信されるメールに書かれるべきではない情報が残っているかどうかを確かめておく必要があるでしょう。(訳注:メールクライアントソフトから見れば、Courier-IMAPによる送信は、あくまでもOutboxというフォルダにメッセージをコピーするということを行っているだけなので、内部的な情報を含むヘッダを削除しないかもしれないわけです)
FAM, the File Alteration Monitor (http://oss.sgi.com/projects/fam/) がインストールされているときには、複数のクライアントが同じフォルダを開いているときでも、フォルダの内容に対する変更が全てのクライアントに同時に通知させることができます。
詳細についてはサーバをインストールした後、imapd(8)のマニュアルを参照して下さい。
‘disableimap’, ‘ disablepop3’に0でない数字が設定されていた場合、該当アカウントについてIMAPもしくはPOP3によるログインは無効となります。DEFAULTOPTIONSでサーバ全体で無効にする設定を行い、個々のアカウントに関しては有効にする、というようなこともできます。:例 DEFAULTOPTIONS="disableimap=1"とすることで、disableimap=0が指定されたアカウント以外のアカウントについて、IMAP接続が無効となります。
アカウントごとの設定方法については、courier-authlibパッケージに含まれるREADME_authlib.htmlをご覧下さい。
Coueir-IMAP 2.0より、実験的なメールアクセスプロトコル、‘Simple Mail Access Protocol”がサポートされています。SMAPは、IMAPで可能なメール処理よりも先進的な操作を可能とする実験的なプロトコルです。SMAPの目的は、IMAPでは不可能なアドバンスなメールアクセス機能を開発し、そのプロトタイプとなることです。SMAPはデフォルトでは無効となっています。imapd設定ファイルのSMAP_CAPABILITY設定項目のコメントを解除することで、SMAPを有効にすることができます。ConeメールクライアントはSMAPをサポートしています。