1999/03/17 のまとめ

kyoma@cosmos.sci.hokudai.ac.jp

作業:高橋共馬

qmail

imap

3/12 に,杉山・西願寺・高橋で debian のパッケージになっている imapd を一回インストールしたのだが,どうしても imap 要求を受け付けなかった.そこで文献調査の結果,以下のことがわかり,方針をきめた.

imapd

まず,debian パッケージの imap を削除した.続いて,imap-4.5.tar.Z を取得,展開.imap-4.5/src/osdep/unix/env_unix.c を URL 2 の解説(以下に引用)に従って編集した.

このパッチが行っていることを具体的に説明します。まず、~userid/Mailbox を使うための方法を示します。imap-4.5.BETA/src/osdep/env_unix.c の関数 char *sysinbox () において
sprintf (tmp,"%s/%s",MAILSPOOL,myusername ());

sprintf (tmp,"%s/Mailbox",myhomedir ());
に書き換えます。

次に、ホームディレクトリ直下のファイルを見せなくするための方法を示します。先と同じファイル env_unix.c の関数 char *mailboxdir (char *dst,char *dir,char *name) において
else strcpy (dst,myhomedir());/* no arguments, wants home directory */

else strcpy (dst,myhomedir()), strcat( dst, "/mail" );/* no arguments, wants home directory */
に書き換えます。さらに関数 char *mailboxfile (char *dst,char *name) において
sprintf (dst,"%s/%s",dir,name);

sprintf (dst,"%s/mail/%s",dir,name);
に書き換えます。

imap-4.5/README に従って,

$ cd imap-4.5/
$ make slx
su になって,
# cp imap-4.5/imapd/imapd /usr/local/sbin/imapd
/etc/services に,
imap2           143/tcp                         # Interim Mail Access Proto v2
imap2           143/udp
があることを確認./etc/inetd.conf に以下の一行を加えた.余談:はじめ,imap-4.5/docs/BUILD に従ってプロトコル名を "imap" としていたのだが,うまく動作しなかった."imap2" に改めたのは,/etc/services にそう表記されていたため.
imap2   stream  tcp     nowait  root    /usr/local/sbin/imapd    imapd
inetd を再起動した.
# kill -HUP xxxx
xxxx: inetd のプロセス番号.

~/Mailbox への配送

~/.qmail を編集.以下の一行を加えた.
./Mailbox
これで,メールボックス形式のメールが,~/Mailbox へ配送されるようになった(確認した).

パソコンを使ってのテスト

テストに使ったのは,Netscape Communicator 4.06 for Windows.~/Mailbox に入っているメールが読めた.

URL

  1. ftp://summersoft.fay.ar.us/pub/linux/qmail/qmail-imap/qmail-imap-4.5.BETA-qmail.patch
  2. http://www.ne.jp/asahi/cyber/taki/server/qmail/uw-imapd.html
  3. http://mirror.nucba.ac.jp/mirror/imap/imap-4.5.tar.Z

今後の課題


back