15-2. POP サ−バの仕組みと設定 (1) POP サ−バの概要 '96 * POP のプロトコルとは POP( Post Office Protocol )は、 他のホストにあるメ−ルボックスを読むためのもので ある。メ−ルサ−バのホストに POP サ−バを稼働させて、自分のコンピュ−タから、POP のクライアントでメ−ルを読むことになる。POP の欠点はメ−ルがきているかどうかサ− バに見にいかないと分からないことである。しかし最近の電子メ−ルのソフトは時間毎に 自動的に見にいくように設定できるようになった。Zmail や Netscape 2.x のメ−ル機能 が対応してきている。POP は U.C.Berkeley で開発されたものである。 それと従来の POP クライアントでは、 メ−ルはアクセスした際に全部クライアント側に もってきて、サ−バ側に残らないようになっていた。しかし外出先からとりあえずメ−ル を読んで、社に戻ってあらためて読みたいという場合もある。このためアクセス時にサ− バにメ−ルを残す残さないという設定が、Netscape Mail、Eudora では可能になってきて いる。また、これをうまく使うと相手がメ−ルを読んだかチェックができる。相手のメ− ルを覗くことになるわけで、かなりの信頼関係がないとできないが。 POP の仕組みは単なるクライアント/サ−バ方式である。このためメ−ルを読むだけなら あのややこしい sendmail.cf は関係無い。しかしメ−ルを出すには、SMTP を使うのでや はり基本的には使用マシンに sendmail と sendmail.cf を設定する必要がある。 ただし mail コマンドなどのシンプルなメ−ルソフトでの場合の話である。 Netscape Mail など では sendmail、sendmail.cf はなくてもメ−ルを送ることができる。 Windows パソコン のメ−ルソフトは、元々 sendmail も sendmail.cf もない。 メ−ルの流れ [メ−ルサ−バ] [ユ−ザ] POP POP server -------------> POP client ↑ SMTP mail box <------------- * POP サ−バについて sendmail は POP をサポ−トしていないため、MH付属のものか、 popper というプログ ラムを導入する必要がある。 popper は単純明快で BSD4.3 ではインスト−ルもしやすい。 POP の問題は、パスワ−ドを平文で送ることがある。これを暗号化した APOP, RPOP があ る。APOP 対応のソフトは ipop3d, Qpopper というのがある('99/08 再度調査)。 現在の POP は POP3 というバ−ジョンが使われている。POP2 というバ−ジョンも以前あ ったが、POP3 の方が機能が上のため今ではほとんど使われない。ちなみにこれらの間に は互換性がないため、サ−バとクライアントでバ−ジョンを同じにしておく必要がある。 POP サ−バは常に稼働させておく必要はなく、クライアントから要求のあった時だけ働け ばよい。そのため /etc/inetd.conf の仕組みに埋め込むことになっている。POP2 はポ− ト番号 109 番を、POP3 ではポ−ト番号 110 番を使うことになっている。 `22/04、再度 Windows のメ−ルソフトの APOP 認証対応を調べた。Outlook Express 5.5, Netscape Messenger 4.75 はまだ対応してなかった。どうも最新版でも、まだなようであ る。シェアウェアとして人気の高い Becky や Eudora は、だいぶ以前から対応している。 2014/02、長年の疑問みたいな話で。メ−ルソフトでメ−ルを残す設定にしていると、 何 かの拍子にメ−ルをまた全部取り込んできてしまう。同じメ−ルがまた来てしまう。ダイ アルアップ時代の時もそんなことが起きて1時間位やっていて電話代にハラハラした。 * POP の代わりとなるソフト 96年後半になって、Webメ−ルという仕組みが出てきた。メ−ルを HTML に変換して WWWで読み書きするソフトである。WWWサ−バにアクセスすることにより、外出先か らでもメ−ルが見れる。ファイアウォ−ル越しに自分のメ−ルを読む1つの手段にできる。 仕組みはメ−ルサ−バとWWWサ−バを cgi でつないでいるだけのことだが。 アスキ− が8万円程で WebMail というソフトを販売している。 その後、goo などが無料でWeb メ−ルのアカウントを発行するようになった。これを使えばどこからでもメ−ルを読み書 きできるわけだ。 それと POP によく似た IMAP( Internet Message Access Protocol )というのも出てきた。 例えば外出時にダイアルアップIP接続により自社の POP サ−バにアクセスして、 低速 な回線で大量のメ−ルを見るような場合を想定して作られた。 POP は POP サ−バにアク セスすると、一度にメ−ルを手元に全部もってくるので、低速回線では大変である。そこ で IMAP ではメ−ルの頭だけ見たり、サ−バにメ−ルを残しておいたりできるらしい。今 後のメ−ルソフトは IMAP に対応していくようである。流通しているバ−ジョンは IMAP4 である。 `02/05追記。IMAP4 も試してみようと思っていたが止めた。上記でサ−バにメ−ルを残し ておいたりできるらしいと書いたが、 メ−ルサ−バにメ−ルをおいておくのが IMAP4 の 最大の特徴だと訂正したい。社内のメ−ルサ−バでこれやられると非常に困る。メ−ルサ −バのディスクをどんどん食って行く。それに来たメ−ルの保存管理が、管理者の責任に なってしまうではないか。メ−ルクライアントは Outlook Express など IMAP4 に対応し てきているようだが。社内の既設定の POP は、これからも POP でいいいのでないか。 * POP サ−バのデ−モン稼働について 一般に POP サ−バは inetd 経由で起動するように設定する。 この inetd デ−モンとい うのは、Solaris 2.5.x だとデフォルトでは60秒間に40回までの処理しかできないと いうことらしい。SunOS 4.1.x や INDY の場合は何回なのやら情報がないが、多分そのよ うな回数なんだと思う。とりあえず1分間で50回までの処理とすれば、マシンが100 台あって、POP クライアントを2分間隔でメ−ルチェックするようにしたらパンクという ことになる。Solaris 2.5.x では、 この回数を inetd の起動オプションで変更すること ができる。/etc/rc2.d/S72inetsvc の中の記述は単に /usr/sbin/inetd -s となっている。 これを次のようにする。 /usr/sbin/inetd -s -r 200 60 << 60秒間に200回要求を処理する。 SunOS 4.1.x の場合は inetd に何やらパッチをあてるといいらしい。 松阪大学の奥村先 生のサイトを見たら、 inetd に tcp_wrapper のようなのを被せるやり方が紹介されてい た。こんなんもいいかも知れない。 また Qpopper の英文ドキュメントにはデ−モン・モ −ドもできるとあった。ともかく POP サ−バからエラ−が起き出しら、 POP クライアン トのメ−ルチェック間隔を長くするようユ−ザに呼びかけることである。これで大方は問 題はなくなるだろう。しかし inetd ヘの要求がどれだけあるか、 どうやって計ったらい いのかな。この方が難しいかも。 * POP サ−バからのメ−ル取得の注意 POP3でサ−バにメ−ルを残すことにしてれば、パソコン内のメ−ルが消えてしまった場合、 POP3サ−バからメ−ルを引き出すことができる。それはそれで有難いのだが、困ったこと も実はあった。自分の入っているプロバイダで、メ−ルを残す設定にしていた。何らかの 拍子にパソコンのメ−ルソフトで、メ−ルサ−バにあるメ−ル全部を取ってきた。既に来 たメ−ルと重複してもう一度来たわけである。まだダイアルアップIP接続している時で、 いつ終わるのかと冷や冷やした。NTTの電話回線が3分10円の時代のことで1時間ぐ らいかかった。電話賃がいってしまった。そんなことが2回か3回あった。 (2) POP サ−バの設定 '96, `02/06 修正 * POP 設定の基本 メ−ルサ−バ 192.10.10.2 ここはずっと POP クライアントを INDY --------- --------- の Zmail としてきたが、 Windows のメ | Apollo| |Windows| −ルに変更する。hostA メ−ルサ−バは --------- --------- 万能 sendmail.cf の [2. メ−ルサ−バ | | のホスト用] にする。sendmail はhosts ----------------------------------------- 対応にする。ここではとりあえずApollo sendmail 稼働 sendmail はない デフォルトのを使った。 POP サ−バ稼働 POP クライアント メ−ルサ−バに tomo というユ−ザのメ−ルボックスをおくことにする。このメ−ルボッ クスを、POP クライアントは見ることになる。メ−ルサ−バの Apollo に tomo でロッグ インして、mail とコマンド打てばメ−ルは読むことができる。 各自のメ−ルボックスは /usr/spool/mail といったディレクトリに tomo というようなファイルでできる。POP サ −バのマシンがおかしくなったりしてマシンを交換する場合、 tomo などこれらのファイ ルを ftp で移しかえればよい。ファイルのオ−ナ、 パ−ミッションは合わせた方がいい と思うが。とりあえず ftp で持ってきさえすれば、POP アクセスはできるみたいだ。 * メ−ルサ−バの設定 /usr/lib/sendmail.cf << 万能 sendmail.cf のメ−ルサ−バ用。sendmailは --------------------------- Apollo のをそのまま使う。 /etc/hosts タイプで |DDnix.co.jj ある。以下 Apollo 特有の処理もやっておくこと。 |Dj$w.$D |DMtcp $ /etc/nmconfig -h hostent_ascii | | $ /etc/mkhosts /etc/hosts /usr/lib/aliases --------------------------- |MAILER-DAEMON:root |postmaster:root |msgs: "|/usr/ucb/msgs -s" |nobody: /dev/null | |#tomo:tomo@hostA.nix.co.jj << 別名の変換をしたければ設定する。 POP では通常 することはない。 $ /usr/ucb/newaliases << /usr/lib/sendmail -bi とやっても同じこと。 $ /usr/lib/sendmail -bd -q1h & << sendmail デ−モンを稼働させる。 * POP サ−バの設定 $ catf /etc/passwd << Apollo での登録は本当はちょっと違うが、ともか tomo:CefJjaGSBwgbY:300:12::/:: くこのようにユ−ザ名とパスワ−ドを登録する。 /etc/services --------------------------- |#pop 109/tcp postoffice << コメントにする。109 は POP2バ−ジョン用である。 |pop 110/tcp /etc/inetd.conf --------------------------------------------------------------------- |# tli |pop stream tcp nowait root /usr/etc/popper popper << popper を追加する。 $ /bin/kill -HUP inetd_PID << inetd.conf を読み直す。 $ telnet localhost 110 << POP サ−バの稼働を確認してみる。telnet から抜 Trying 127.0.0.1... けるには quit と入れる。 Connected to localhost. Escape character is '^]'. +OK UCB Pop server (version 1.831beta) at hostA starting. $ pst 0.208 .. Wait uid = 7.. (telnet) 0.244 .. Wait uid = 7.. (popper) << 稼働OK。 * Apollo で tomo にメ−ルを送る $ /usr/ucb/mail -v tomo@nix.co.jj << katouでロッグインして、メ−ルを送った。 Subject: test katou kun desu . EOT tomo@nix.co.jj... Connecting to (local)... tomo@nix.co.jj... Sent $ /bin/ls -lg /usr/spool/mail << tomo のメ−ルボックスができる。 -rw-rw---- 1 tomo mail 276 Jun 22 12:54 tomo $ catf /usr/spool/mail/tomo << メ−ルが幾つもあれば、 このファイルに From katou Thu Jun 22 12:51:58 2000 どんどん足される。読まれたら消える。 Received: by node_abcd (5.65c/nix.1.0) id AA09521; Thu, 22 Jun 2000 12:51:51 +0900 Date: Thu, 22 Jun 2000 12:51:51 +0900 From: katou (katou) Message-Id: <200006220351.AA09521@node_abcd> To: tomo@nix.co.jj Subject: test katou kun desu メ−ルを送るとメ−ルサ−バのメ−ルスプ−ルに、そのユ−ザ用メ−ルボックスができる。 それが tomo というファイルで、上はそれをそのまま表示したところである。このファイ ルを Netscape なんかの POP クライアントのメ−ルソフトで読む。 アクセスした後の状 態が下記である。.tomo.pop というファイルができている。POP のメ−ルソフトメ−ルを 残す、残さないという設定は .tomo.pop には関係ない。このファイルは POP クライアン トがアクセスするとできる。正常な場合のファイルサイズは0だが、トラブルが起きると、 何か書き込まれるようである。この .tomo.pop というファイル、 ただの popper ではで きたのだが、Qpopper ではできなかった?。いやよく動きを見たら Qpopper では、POPア クセスした後に .tomo.pop を消しているようである。 $ /bin/ls -alg /usr/spool/mail -rw------- 1 tomo none 0 Jun 22 13:01 .tomo.pop -rw-rw---- 1 tomo mail 0 Jun 22 13:01 tomo * システム・ログを取ってみる /etc/inetd.conf popdesu と言うプロセス名にしてログを出すように -d を付けた。 ------------------------------------------------------------- |pop stream tcp nowait root /usr/etc/popper popdesu -d /etc/syslog.conf popper の README の通りの設定にした。 -------------------------------------------------------- |local0.notice;local0.debug /usr/spool/mqueue/POPlog << 別にどんな名前のファ ↑ここもタブにすること イル名でも構わない。 $ wd /usr/spool/mqueue $ crf POPlog メ−ルを POP で1つとってみた時のログ。 $ /usr/ucb/tail POPlog Jul 18 16:51:27 node_abcd popper: Unable to get canonical name of client, err =0 Jul 18 16:51:27 node_abcd popper: (v1.831beta) Servicing request 続く from "192.10.10.2" at 192.10.10.2 Jul 18 16:51:28 node_abcd popper: (v1.831beta) Ending request 続く from "192.10.10.2" at 192.10.10.2 (3) popper と Qpopper のコンパイル * popper のコンパイル '96 popper のソ−スは「Internet Magazine」のおまけCD−ROMから持ってくる。もうだ いぶ前に作られているのだが、それ以後全く変わっていないようである。それにUNIX 用には、基本的に1つしかプログラムがない。この popper プログラムは BSD4.3 用とし て書かれていて、コンパイル・オプションで Sys5.3 用にすることはできない。このため INDY や Solaris 2.5.1 等の System V 系OSで使用するには、少々やっかいである。 [ Apollo の場合 ] Makefile の CFLAGS だけちょっと変更して、make したらできた。Apollo では vsprintf は使える、strncasecmp は使えない。 Makefile ---------------------------------------------------- |CFLAGS = -O -DBIND43 -DHAVE_VSPRINTF -DSTRNCASECMP $ wd /usr/local << man ファイルを作ってみる。root でロッグインする。popper.0 $ crd man /usr/local/man/cat8という2つのファイルにマニュアルができ る。cat8 はただのテキストである。 $ /bin/make installman rm -f popper.0 nroff -man popper.8 > popper.0 install -c -m 644 -o root -g staff popper.0 /usr/local/man/cat8 [ Solaris 2.5.1 の場合 ] Solaris の電子メ−ルのスプ−ル・ディレクトリは /var/mail になっている。popper は /usr/spool/mail なので、シンボリック・リンクを張るか、 popper のプログラムを変更 するかしなければならない。他は、多分そのまま使える。/etc/inetd.conf、services の ファイルの設定も同様である。POP プログラムは popper-1.831beta.solaris.tar.Z や次 のものもある。Qpopper は popper とは違うプログラムである。 どうも Qpopper の方が いいという話である。 ftp.lab.kdd.co.jp:/Sun/sunsite.unc.edu/sparc/ 32962 byte qpopper.2.2.SPARC.Solaris.2.5.pkg.tgz ftp.iij.ad.jp:/pub/network/ 58961 byte popper-1.831beta.tar.Z * Qpopper のコンパイル `02/06/13 とりあえず INDY IRIX 5.3 で展開して ./configure, make してみた。別に問題なくコン パイルできた。このマシンを POP3 サ−バに仕立てる予定はないが。バイナリは popper/ ディレクトリに popper という名前でできる。./configure でオプションを付けてないの で、できた popper はパスワ−ド認証がプレ−ン・テキストで流れるタイプである。オプ ション指定すると APOP、RPOP 対応にできる。APOP は md5 を用いたチャレンジ/レスポ ンス方式を使い、RPOP は R コマンドの認証をする。 セキュリティ的には R 認証はいた だけない。md5 の方が安全である。ただし APOP でもパスワ−ドだけが暗号化されるので あって、メ−ル本文は暗号化されない。 APOP を使うには、その旨オプション指定し ./configure して、make すると popauth と いうコマンドができる。このコマンドで APOP 認証するユ−ザを登録していく。どうもこ うして登録したユ−ザは、POP クライアントは必ず APOP 認証を使う設定にしなければな らない。どちらでも選択できるのならいいのだが。 モバイルで外から POP アクセスして くるユ−ザも出て来るだろう。その人達だけでも APOP でパスワ−ドがプレ−ンで流れな いようにしたいところである。あるいはメ−ルの運用方針を、いっそ APOP 認証を必ずす るとしてしまうかである。もうそろそろ、Windows のメ−ルソフトは APOP 対応している と思うのだが。否、Netscape や Outlook はまだまだみたい。 http://www.eudora.com/qpopper/index.html ここからもダウンロ−ドできる。 日本のミラ−サイトから取ろうとしたら、 アクセス元の存在チェックをして いるようでダメだった。なんでか?。ヒントは FireWall-1 の NAT 機能です。 % ftp ftp.qualcomm.com 220- Welcome to QUALCOMM Incorporated's Public FTP Server! 220- It is Mon Jun 12 00:35:41 2000 in San Diego, California, U.S.A. ftp> cd eudora/servers/unix/popper -rw-r--r-- 1 200 1781 May 17 16:35 Changes -r--r--r-- 1 200 8011 Mar 10 20:30 License.txt -rw-r----- 1 200 752 May 17 16:44 README -rw-r--r-- 1 200 36123 May 17 16:36 Release.Notes drwxr-xr-x 2 200 2048 May 17 16:24 old -rw-r--r-- 1 200 2493787 May 17 16:23 qpopper3.0.2.tar.Z -rw-r--r-- 1 200 1734453 May 17 16:23 qpopper3.0.2.tar.gz ftp> get qpopper3.0.2.tar.Z ftp> ls old バ−ジョン 3.0.2 とえらいファイルの大きさが違う。 -rw-r--r-- 1 200 198601 Jul 16 1998 qpopper2.53.tar.Z % uncompress qpopper3.0.2.tar.Z; tar xvf qpopper3.0.2.tar % cd /usr/local/source/qpopper3.0.2;ls -F INSTALL README config.h configure* misc.h License.txt common/ config.h.in configure.in mmangle/ Makefile conf.h config.log doc/ popper/ Makefile.in config.cache config.status* man/ test/ % ls doc Changes LMOS-FAQ.html README.Berkeley rfc1939.txt Changes~ Makefile.in Release.Notes rfc2449.txt [ INSTALL ファイルの記述から ] % ./configure --enable-specialauth シャドウ・パスワ−ドを使う場合の指示。 % ./configure --enable-apop=/etc/pop.auth --with-popuid=pop ※APOP 認証を使う場 合の指示。 [ 松阪大学の奥村先生のホ−ムペ−ジから ] `21/03 小生時々、奥村晴彦先生のサイトを見にいきます。Qpopper の APOP 認証とサ−バモ−ド での実行について書かれていました。それによれば、Qpopper を APOP 認証を使うという ことで ./configure でオプション指定しても、 起動する際にオプション -p 2 を付けれ ば、POP クライアントは APOP でも POP 認証でも構わないとあった。 Qpopper のバ−ジ ョンは 3.1.2 である。上記で検討したバ−ジョンは 3.0.2 で2000年の4月作成のも のだった。3.0.2 の INSTALL を改めて見たら、 APOP 認証対応の ./configure オプショ ンはあったが、起動時の -p 2 オプションというのは見当たらなかった。どちらでもOK となったのはバ−ジョン4ぐらい、最近のことなのかな。 % cd qpopper3.0.2/popper % popper -help popper: illegal option -- h Usage: popper [-c] [-d] [-s] [-R] [-t trace-file] [-T timeout] [-b bulldir] [-e login_delay=nn,expire=nn] APOP 認証でも、これまでのただの POP 認証でもいいとなれば、できれば APOP も扱える Qpopper にしたい。しかしクライアントであるメ−ルソフトの方が問題である。今日メ− ルソフトといえば Windows か Macintosh 用の POP クライアントとなる。 なぜか未だに 2大メ−ルソフト Netscape Messenger と Outlook Express は APOPに対応してないのだ。 小生のところではほとんど皆、IE と Outlook Express になってしまっている。小生は何 かと問題の多い Outlook Express を決して推奨した訳でなかったのだが。 ご多分に漏れ ず Windows をインスト−ルしたら入っていたということで、 それべくそうろうになって しまった。今日パソコン用のメ−ルソフトは十以上あるだろうか。 APOP 対応するソフト も Becky!, Eudro Pro, WinBiff, AL_Mail など多々あるのだが。 http://www.matsusaka-u.ac.jp/~okumura/networking/pop.html [ Eudora の QUALCOMM 社のフリ−ソフト ] % ftp ftp.qualcomm.com `22/03 確認 220- 220- Welcome to QUALCOMM Incorporated's Public FTP Server! 220- ftp> cd eudora/servers/unix ftp> ls drwxrwxr-x 2 2501 2048 Nov 25 2000 password drwxrwxr-x 2 2501 2048 Mar 27 1997 ph << qi-2.3.tar.Z のみ。 drwxrwxr-x 2 2501 2048 Jun 18 1997 ph2ldap << ph2ldap_1.0B3.tarのみ。 drwxrwxr-x 4 2501 2048 Jun 27 2001 popper -rwxrwxr-x 1 2501 50145 Mar 27 1997 srialpop.shar drwxr-xr-x 2 200 2048 Mar 2 2001 xpopper << 中は空だった。 ftp> ls popper -rw-r--r-- 1 200 14962 Jun 2 2001 Changes -r--r--r-- 1 200 502754 Apr 13 2001 GUIDE.pdf -r--r--r-- 1 200 8011 Apr 4 2001 License.txt -rw-rw-r-- 1 2501 561 Mar 11 2000 Mailing.List -r--r--r-- 1 200 2134 Apr 4 2001 README -r--r--r-- 1 200 42366 Apr 4 2001 Release.Notes -rw-r--r-- 1 200 24776172 Jun 27 2001 qpopper.tar.gz -rw-r--r-- 1 200 829513 Jun 2 2001 qpopper4.0.3-no-test.tar.gz -rw-r--r-- 1 200 3365429 Jun 2 2001 qpopper4.0.3.tar.Z -rw-r--r-- 1 200 2326127 Jun 2 2001 qpopper4.0.3.tar.gz ftp> ls password -rwxrwxr-x 1 2501 87 Mar 27 1997 README -rw-r--r-- 1 200 20706 Nov 25 2000 linux-poppassd-1.tar.gz -rwxrwxr-x 1 2501 20480 Mar 27 1997 linux.tar -rwxrwxr-x 1 2501 9728 Mar 27 1997 osf-poppassd-1.tar -rwxrwxr-x 1 2501 13228 Mar 27 1997 pwserve-1 | -rwxrwxr-x 1 2501 22528 Mar 27 1997 solaris-2.tar * Apollo での Qpopper 2.53 のコンパイル $ /bin/start_csh << 展開した qpopper2.53 のディレクトリに入って。 $ ./configure Qpopper 3.0.2 と同じく、Makefile の LIBS = .. をコメントにする。 それに config.h の #define HAVE_STRINGS_H 1 を 0 にする。pop_auth.c と pop_bull.c の最初にヘッダ −ファイル #include を追加する。 $# make << 上記修正したので make やるとノ−エラ−、 ノ−ワ− ニングでコンパイルできた。 $# ls -l popper -rwxrwxrwx+ 1 root 224910 Jun 16 12:55 popper (4) POP3 の動作を確認する `22/04 * telnet アクセスにより POP3 の動作を確認する Windows 98 Cobalt Qube3 Qube3 のメ−ルサ−バの設定は、"これら Outlook Express POP3 Server のホスト/ドメイン宛の電子メ−ルを受信 □ □ する" のとこに nix.co.jj と入れただけ。 |.7 |.3 Outlook からユ−ザ tomoが、自分にメ− ----------------------------------- ルを送って、自分で取り込むという筋書。 192.168.1.0 ユ−ザ tomo 登録 Qube3 の /etc/inetd.conf ---------------------------------------------------------------------- | | |# pop-2 stream tcp nowait root /usr/sbin/tcpd pop2d |pop-3 stream tcp nowait.80 root /usr/sbin/tcpd in.qpopper -R | | ↑ /usr/sbin/in.qpopper $ telnet 192.168.1.3 110 << 他のマシン、Apollo からアクセスしてみた。 Trying 192.168.1.3... Connected to 192.168.1.3. Qube3 のマシンで # man qpopper とやって出 Escape character is '^]'. てきたのには pop 3 server (v3.0) とあった。 +OK QPOP (version ?) at qub3.nix.co.jj starting.<2330.1019451792@qub3.nix.co.jj> ? -ERR Unknown command: "?". << 無効なコマンドを入れると -ERR が出る。 user tomo << POP アクセスのユ−ザは tomo です。 +OK Password required for tomo. PASS henomohe << ユ−ザ tomo のパスワ−ド。まるで丸見え。 +OK tomo has 2 visible messages (0 hidden) in 1372 octets. stat << 来ているメ−ルの総数と容量、バイト数。 +OK 2 1372 LIST << 来ているメ−ルを全部リストする。 +OK 2 visible messages (1372 octets) 1 677 2 695 << 後から来たメ−ルは大きい番号になる。 . retr 2 << 2番のメ−ルの内容を表示する。 +OK 695 octets Return-Path: Received: from solo ([192.168.1.7]) by qub3.nix.co.jj (8.10.2/8.10.2) with SMTP id g3M51k802255 for ; Mon, 22 Apr 2002 14:01:47 +0900 Message-ID: <001a01c1e9ba$c90c4d20$070aa8c0@solo> From: "tomodesu" To: Subject: test Date: Mon, 22 Apr 2002 14:01:38 +0900 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4807.1700 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700 X-UIDL: Z]/"!!P`!!6M_"!%m7"! ,$B?2$k;R$00i$D,(B << "寝る子は育つ" とメッセ−ジを書いた。Tera Term Pro でアクセスすれば、ちゃんと見える。 . list << コマンドは小文字でも大文字でも関係ない。 +OK 2 visible messages (1372 octets) 1 677 2 695 . dele 2 << 2番のメ−ルに削除マ−クを付ける。メ−ル +OK Message 2 has been deleted. ソフトで、メ−ルを残す指示とは、ただ消さ list ずにおくだけのこと。 +OK 1 visible messages (677 octets) 1 677 . rset << 削除マ−クを付けたのを全部取り止めにする。 +OK Maildrop has 2 messages (1372 octets) list +OK 2 visible messages (1372 octets) 1 677 2 695 . dele 1 +OK Message 1 has been deleted. quit << POP から抜ける。この後に削除マ−クが付け +OK Pop server at qub3.nix.co.jj signing off. られたメ−ルが実際に削除される。 Connection closed by foreign host. * TOP コマンドと UIDL コマンド qub3# mail tomo@nix.co.jj ユ−ザ root でメ−ルを書いている。 Subject: test 111 222 333 . qub3# mail ユ−ザ tomo でロッグインしている。 Mail version 8.1 6/6/93. Type ? for help. "/var/spool/mail/tomo": 3 messages 3 new >N 1 root Tue Apr 23 16:10 15/408 "111" N 2 root Tue Apr 23 16:12 19/424 "111" N 3 root Tue Apr 23 16:23 17/417 "test" & q Held 3 messages in /var/spool/mail/tomo $ telnet 192.168.1.3 110 ほかのマシンからアクセスしている。 | list +OK 3 visible messages (1178 octets) 1 386 2 406 3 386 . top 3 1 << 3番目のメ−ルを、本文の1行目を表示する。 +OK Message follows POP3 Extension Mechanism (RFC2449)、POP3 Return-Path: の拡張仕様である。Qpopper 3.x から入った。 Received: (from root@localhost) by qub3.nix.co.jj (8.10.2/8.10.2) id g3N7Nld18970 for tomo@nix.co.jj; Tue, 23 Apr 2002 16:23:47 +0900 Date: Tue, 23 Apr 2002 16:23:47 +0900 From: root Message-Id: <200204230723.g3N7Nld18970@qub3.nix.co.jj> To: tomo@nix.co.jj Subject: test X-UIDL: Gdo!!5DB"!9gJ!!R[f!! 111 . top 3 2 << 3番目のメ−ルを、本文の2行まで表示する。 +OK Message follows これで、これまでのようにメ−ルを全部ダウ Return-Path: ンロ−ドしてこなくても済むという訳だ。 Received: (from root@localhost) by qub3.nix.co.jj (8.10.2/8.10.2) id g3N7Nld18970 for tomo@nix.co.jj; Tue, 23 Apr 2002 16:23:47 +0900 Date: Tue, 23 Apr 2002 16:23:47 +0900 From: root Message-Id: <200204230723.g3N7Nld18970@qub3.nix.co.jj> To: tomo@nix.co.jj Subject: test X-UIDL: Gdo!!5DB"!9gJ!!R[f!! << このメ−ルに最初に付けられたユニ−クな識 別子。メ−ルが消されるまで変わらない。最 111 初、文字化けしているのかと思った。 222 . UIDL << 全てのメ−ルの識別子をリストする。一応こ +OK uidl command accepted. んなのもあるよということで。 1 D9*"!\E:!!a2="!&+\"! 2 W~_"!i+2"!H0O!!dCI"! 3 Gdo!!5DB"!9gJ!!R[f!! . UIDL 3 +OK 3 Gdo!!5DB"!9gJ!!R[f!! noop << 何もしないコマンド。セッションのタイムア +OK ウトにならないよう時間稼ぎするとか。 quit +OK Pop server at qub3.nix.co.jj signing off. Connection closed by foreign host. * X-UIDL の動きをもう少し調べる qub3# mail -v tomo@nix.co.jj Subject: 111 444 . tomo@nix.co.jj... aliased to tomo tomo@nix.co.jj... Connecting to local... tomo@nix.co.jj... Sent /var/spool/mail/tomo -------------------------------------------------------- Qube3 に telnet で入っ |From root Thu May 2 10:55:51 2002 て tomo 宛にメ−ルを送 |Return-Path: った。それを、メ−ルボ |Received: (from root@localhost) ックスに入ったのを表示 | by qub3.nix.co.jj (8.10.2/8.10.2) id g421tpx24155 したところ。X-UIDLなん | for tomo@nix.co.jj; Thu, 2 May 2002 10:55:51 +0900 てのは、まだ見えない。 |Date: Thu, 2 May 2002 10:55:51 +0900 |From: root |Message-Id: <200205020155.g421tpx24155@qub3.nix.co.jj> |To: tomo@nix.co.jj |Subject: 111 | |444 /var/spool/mail/tomo -------------------------------------------------------- Windows パソコンから |From root Thu May 2 10:55:51 2002 ここでは Netscape で |X-UIDL: Qg^!!]*:!!XFH!!NZ7"! メ−ルは残す設定にし、 |Return-Path: POP アクセスした後の |Received: (from root@localhost) メ−ルボックスである。 | by qub3.nix.co.jj (8.10.2/8.10.2) id g421tpx24155 X-UIDLがヘッダ−に追 | for tomo@nix.co.jj; Thu, 2 May 2002 10:55:51 +0900 加されているのが分か |Date: Thu, 2 May 2002 10:55:51 +0900 る。これは POP3 サ− |From: root バが付けたものである。 |Message-Id: <200205020155.g421tpx24155@qub3.nix.co.jj> |To: tomo@nix.co.jj |Subject: 111 |Status: RO | |444 * Cobalt Qube3 に入っていた Qpopper による APOP 認証 Qube3 の POP の設定画面や、ユ−ザ管理の画面には POP サ−バで APOP 認証うんぬんと いうのはない。それで Qube3 の Qpopper プログラムは APOP 対応になっていないのかと 思った。しかし /etc/pop.auth ファイルがあったし、/etc/passwd にも pop のエントリ があった。./configure --enable-apop=/etc/pop.path --with-popuid=pop と明示してや らないと、APOP 対応の Qpopper ができないのか。それとも最初から APOP 対応にはなっ ているのか。それは確認してない。しかし、パスワ−ド管理するファイルを別なのにした ければ、--enable-apop= でパス指定する。デフォルトとしては /etc/pop.path に置くこ とにはなっている。 それで早速 APOP 認証を試してみた。"#popauth -user tomo" で APOP 認証を登録したユ −ザさんは、APOP 対応のメ−ルソフトを使うこと。 例えば Becky! を APOP 認証するに して使えばよい。 登録しないユ−ザさんは、APOP 対応でないメ−ルソフトを使えばよい。 Netscape Messenger でも Outlook Express でも、そのまま使えばいいのである。これは 分かり易い話だ。これなら APOP は導入しても特に問題はないだろう。メ−ルを取り込む のはこれでいいとしても、メ−ルを出す場合の問題は依然として残る。SMTP AUTH 認証は、 どうもまだ不安定なような気がする。 qub3# cd /usr/sbin qub3# ./popauth -init Really initialize POP authentication DB? y 初期化してできたファイル。 qub3# ls -al /etc/pop* ↓ -rw------- 1 admin users 1536 Apr 24 13:48 /etc/pop.auth -rw------- 1 root root 12288 Apr 24 13:16 /etc/pop.auth.org ↑ qub3# ./popauth -user tomo 元からあった pop.auth を Changing only APOP password for tomo. コピ−しておいた。 New password: << henomohe2 と入れた。 Retype new password: << tomo を登録したら、pop.auth ファイルのサ qub3# ./popauth -list イズは 1552 になった。tomoを消したら1552 tomo: APOP のままだった。pop.authファイルはダンプし たら tomo の文字が見える。パスワ−ドは暗 qub3# ./popauth -delete tomo 号化ではなく、何らかの符号化がされていた。 Netscape Messenger から POP アクセスしたら、"POP3 サ−バにユ−ザ名を送信中にエラ −が発生しました"、と出てだめだった。Becky! で APOP 認証を使う設定にしたら、メ− ルを取り込んできた。設定は [ツ−ル]->[メ−ルボックスの設定]->[基本設定] の画面で "ユ−ザID:[ tomo ] パスワ−ド:[henomohe2]、認証方式 ○標準 ●APOP" とした。 (5) POP3 サ−バのいろいろ `24/05 * DeleGate による POP アクセスの中継 FWTK の plug-gw 汎用プロキシ・サ−バでも ---------- 同様のことができる。"11-2.ファイアウォ− |ホストB| メ−ルサ−バ ルとソフト、(2) コネクションフィルタリン ---------- ポップサ−バ グの特徴、トンネリング技術" のとこを参照。 | ↑ ---------------- \ POP3アクセスのユ−ザ名 | |は katouで引き渡される。 FireWall ---------- | |ホストA| # delegated -P1100 SERVER=B << -P1100 は別に素直に、POP3 ---------- ↑ ポ−トの110番でも構わない。 | | --------------------- | | | ユ−ザ □ % telnet A 1100 USER katou@B << katou@Bの @ は % か # でも構わない。 DeleGate の雑誌記事はあまりないみたい。 手元にあるので「インタ−フェ−ス」'95/09, "特集:マルチメディア時代のインタ−ネット技術 多目的プロキシ・サ−バ DeleGate の 機能詳細−アクセス/経路制御とプロトコル変換"、P.130〜146。ぐらいである。 このソ フト、工業技術院電子総合研究所の佐藤豊氏が1994年3月に開発を始め、すぐに無償 かつ無保証で配布が始められた。営利目的でなければ自由に使うことができる。DeleGate はデリゲ−トまたはデリゲイトと読む。2004年5月現在もなお、鋭意開発は続けれら れている。サポ−トプラットフォ−ムは Windows OS各種、Linux にも対応する。 DeleGate のオリジナルは http://www.delegate.org/delegate/ にある。英文である。そ の和訳したのが http://irish.ubiq.reset.jp/docs/Manual.htm にある。 によれば APOP 対応してないメ−ルソフトでも、DeleGate を介して APOP 認証ができる。 デフォルトは APOP ロッグインを最初試みる、だめなら USER+PASS を再度試みると書いてあった。APOP は POP3 アクセスのユ−ザ認証のパスワ−ドを暗号化する。DeleGate の Windows 版をメ −ルソフトのパソコンに入れると代理アクセスにより、APOP を利用することができる。 * fetchmail と popclient というソフト UNIX用のソフトで昔からある。一体何をするプログラムだろうと思っていたが。ホス トAの fetchmail コマンドが、ホストBの POP3 Server にアクセスして、メ−ルをホス トAのメ−ルサ−バに取り込む。その際メ−ルボックスとしてではなく、メ−ルスプ−ル としてセ−ブする。「UNIX MAGAZINE」'99/01, P.39 に fetchmailのことが少し出ていた。 ホストAのユ−ザのホ−ムディレクトリに .fetchmailrc というファイルを作ってユ−ザ 名やパスワ−ド、それに POP3 サ−バ名を書いておく。fetchmail コマンドを叩くとホス トBに POP3 アクセスしてメ−ルを取りに行き、そのメ−ルをホストAの sendmail に渡 して、ユ−ザのメ−ルスプ−ルへとなる。アクセスする時間間隔は .fetchmailrc に記述 ができる。POP3 中継 Proxy は、上記の DeleGate や FWTK などを使うことになる。 ---------- メ−ルサ−バ プロバイダ等外部にある |ホストB| /var/mail/katou メ−ルサ−バということ。 ---------- POP3 Server : : ---------------- | -------- ファイアウォ−ル 出典:「UNIX MAGAZINE」'99/02, P.22〜28, | | POP3 中継 Proxy "ファイアウォ−ルの作り方15 白崎博生"。 -------- の図5メ−ルの受信(その4) | --------------------------------------------------- | | ---------- メ−ルサ−バ □ ユ−ザ |ホストA| /var/mail/katou Netscape Messenger など ---------- POP3 Server ←― POP3 Client fetchmail とか popclient * Windows の Radish というソフト Windows の Radish も fetchmail と同じようなことができる。バ−ジョン3の Radishは SMTP/POP3/DNS サ−バの機能を持っている。手元のパソコンの Windows 98 に設定してみ た。Radish の機能の "自動受信" で定期的に POP3サ−バにアクセスして、例えば katou 宛のメ−ルを取って来る。さらにこのパソコン自体を Radish の機能で POP3 サ−バにす る。このパソコンに入っているメ−ルソフトで、POP3 サ−バをロ−カルの 127.0.0.1 に 設定すれば、これでメ−ルを受け取ることができる。 Radish での POP3 サ−バにも、 Qpopper などと同じく利用するユ−ザ名とパスワ−ドの 設定が必要である。パスワ−ドはデフォルトで8文字以上、記号を入れる、大文字を含め る、小文字を含めるようになっている。設定画面で、これらチェックを外せば制限を緩め ることはできる。ソフトはここ http://homepage2.nifty.com/spw。「NETWORK MAGAZINE」 2004/05, P.180〜183, "Radish でつくる簡単メ−ルサ−バ"。なども参考にされたし。 Radish の設定の POP3 サ−バのIPアドレスを 127.0.0.1 でなく、ちゃんとしたのにし たら、例えば 192.168.1.4 とかにしたら、他のマシンから POP3アクセスができた。つま りメ−ルソフトである POP3 クライアントから、Windows 98 の 110 番ポ−トにアクセス できた、Windows 98 でも外から POP3 アクセスができるということである。 ちょっと驚 いてしまった。indy% telnet 192.168.1.4 110 というのもできた。 Windows 98 など UNIX など ------------------------ ----------------- | -------------------- | | ------------- | | |Netscape Messenger| | | |sendmail 等| | Windows でも UNIX でも | -------------------- | | |SMTP Server| | ---------------------- | ↓メ−ル取りに行く| | ------------- | | telnet 192.168.1.5 | | -------------------- | | | | の 110 番ポ−ト ―――→|POP3 Server | | | ------------- | | | | | | | メ−ル取 | |Qpopper 等 | | | INDYからもアクセス | | | Radish 自動受信| ―――――→ |POP3 Server| | | してみた | | -------------------- | りに行く | ------------- | ---------------------- ------------------------ ----------------- | 192.168.1.0 | .4 | .1 -------------------------------------------------------------------------------- ※Radish の POP3 サ−バも APOP 対応している。CHPS という POP ユ−ザのパスワ−ド を変更する機能もある。CHPS って、POP3 プロトコルの一般的な機能なのだろうか?。 * Norton のウィルスチェックに注意 初め Radish の POP3 サ−バが起動しなかった。 DOS窓で C:\> netstat -a で見たら すでに POP3 のポ−トが使われていたためだった。でも何で POP3 ポ−トが開いているの か?。[スタ−ト]->[ファイル名を指定して実行] で "msconfig" と入れて、 システム設 定ユ−ティリティの画面を出し [スタ−トアップ] のとこを見た。 ここには Windows の OSに常駐するソフトが列挙されている。 結果、以前試しに入れてみた Norton 2001 の ウィルスチェックソフトが、引っかかっていることが分かった。 "Norton Auto-Protect", "Norton eMail Protect", "Norton AntiVirus を起動"。が常駐 していた。これらのチェックを1つずつ外して、 C:\> netstat -an での 127.0.0.1:110 の LISTENING が無くなるか見た。"Norton Auto-Protect"はファイルのウィルスチェック である。"Norton eMail Protect" はメ−ルの送受信の際のウィルスチェックである。 こ の "Norton eMail Protect" が POP3 ポ−トを使っていることが分かった。でもこのソフ ト、とっくの昔に期限切れになって、常駐しているだけだった。 "Norton eMail Protect" はメ−ルソフトの POP アクセスを横取りする。というかプロキ シ見たいな動きをするのでないか。 メ−ルソフトが POP サ−バにアクセスしようとする のを見張っていて、アクセスが来たら Norton が代わりにアクセスして、メ−ルを取って 来る。そしてウィルスチェックをして、 クリ−ンなメ−ルを pop3.norton.antivurus に おくのである。pop3.norton.antivurus はこのパソコンのことだが、ノ−トンが付けたホ スト名である。ノ−トンが POP3 の 110 番ポ−トを使うことといい、分かりにくい。 Netscape Messenger をノ−トンの画面でウィルスチェックするように指定したら、"受信 メ−ルサ−バのプロパティ" でサ−バ名は 192.168.1.4 から pop3.norton.antivurus へ、 ユ−ザ名は katou が katou/192.168.1.4 に変更されていた。本当はこのようにチェック する指定をしてはじめて、ノ−トンが POP3 ポ−トを使う。最初おかしかった時には、指 定はしてなかった。ノ−トンの挙動不審である。ノ−トンでチェックしないようにしたら Netscape Messenger の設定は元に戻り、POP3 ポ−トも使わないようになっていた。 * メ−ルストア実機での POP3 サ−バ /etc/rc3.d/S99QPOPPER 2005年末に Mail-Store を新しいマ ----------------------------------------- シン Sun Solaris 9 にした際の POP3サ |#!/bin/sh −バの設定。-T600 は最初 -T120にして |case "$1" in いた。しばらくして変更した。 qpopper | "start") のバ−ジョンは 4.08 とか。 | /usr/local/qpopper/sbin/popper \ | -s \ このログはどんどん大きくなって行くこ | -t /var/log/qpopper/poplog \ とに注意。ここでの S99QPOPPER スクリ | -R -S -T600 プトは S99QPOPPER stop して start し | ;; てもログは御破算にはならなかった。 | "stop") | | SMTPのログも出ている。勝手に出ている | ;; のではなくまあ取っているのだが。POP3 | *) のログもそうだが、特に必要ないなら取 | echo $0 "{start|stop}" らないようにした方がいい。ログが出て | ;; いることを知らずに、でかいファイルが |esac いつの間にか出来ていることは避けたい。 /var/log/syslog,syslog.0〜syslog.7 POP3サ−バのログは取るまでもない。出てくるのはどのパソコンからリクエストがあった か、POP login は誰だったか、他プロセスIDとStats という状態が出るのみ。パソコン のメ−ルソフトの名前ぐらい出てもいいと思うが出ない。一応ログの状態と中身を下に示 した。2006年2月からログを取り始め、すごい大きなファイルになっていることが分 かる。この poplog はロ−テ−ションしないので大きくなるばかりだ。ちょうど3年経っ たところの様子である。取るのを止めます。 # cd /var/log/qpopper;ls -l -rw-r--r-- 1 root other 2347493546 2月 14日 2006年 poplog # tail -200l poplog 以下はパソコンなどからの1回の POP3 アクセスのログ。 | Feb 14 12:25:30.651 2006 [4190] accept=5; sockfd=3; clilen=16; cli_addr=192.1.1.9:1128 Feb 14 12:25:30.651 2006 Feb 14 12:25:30.651 2006 [4190] new connection; fd=5 Feb 14 12:25:30.651 2006 Feb 14 12:25:30.651 2006 [4190] newsockfd (5) flags: 0x82 Feb 14 12:25:30.651 2006 Feb 14 12:25:30.651 2006 [4190] set fd 5 blocking (0x2) Feb 14 12:25:30.651 2006 Feb 14 12:25:30.652 2006 [27445] new child for connection Feb 14 12:25:30.652 2006 Feb 14 12:25:30.655 2006 [4190] forked() for new connection; pid=27445 Feb 14 12:25:30.655 2006 Feb 14 12:25:30.823 2006 [27445] (v4.0.8) POP login by user "ikken" at (192.1.1.9) 192.1.1.9 Feb 14 12:25:30.823 2006 Feb 14 12:25:30.952 2006 [27445] Stats: ikken 0 0 0 0 192.1.1.9 192.1.1.9 Feb 14 12:25:30.952 2006 Feb 14 12:25:30.966 2006 [27445] exiting after Qpopper returned * Qpopper のオプションの説明記述 [ Qpopper Adminstarator's Guide Qpopper Version 4.0 ] 参考まで Run-Time Command Line Options -R Disables the reverse lookups on client IP address -s Enables statistics logging. After each session ends, a statistics record is written to the log. This record resembles the following example. -S Enables server mode by default. -T You can change the timeout for client reads. The default is 120 seconds. Qpopper terminates the connection with the client if no input is received in this many seconds. RFC 1939 states that this timeout should be 600 seconds(10 minutes). However, ideal settings in some cases are between 30 and 120 seconds. * Qpopper オプションの癖なのか `2b/03 これら Mail-Store の予備機で動作を確認した。Qpopper は qpopper408 である。 /etc/rc3.d/S99QPOPPER ※ オプションがまるで認識されていない!。 ------------------------------------- -T600 の値が大き過ぎて、オプション自 |#!/bin/sh 体が有効になっていないみたい。しかし |case "$1" in 次の指定では 600 でなく 60として認識 | "start") したみたいで、何か変。 | /usr/local/qpopper/sbin/popper -R -S -T600 | ;; # ps -ef | grep popper root 362 1 0 16:46:09 ? 0:00 /usr/local/qpopper/sbin/popper /etc/rc3.d/S99QPOPPER ※ オプションが変に認識されてしまってい ------------------------------------- る。-T600 は -T60 になっている。表示 |#!/bin/sh が長いので最後の文字 '0'が切れている |case "$1" in のだと思っていた。-Rを削ってやってみ | "start") たら、隠れた表示がでてきて -T600にな | /usr/local/qpopper/sbin/popper \ るかと思ったが、-T60 のままだった。 | -s \ | -t /var/log/qpopper/poplog \ ということは -T600 を -T120 に値を小 | -R -S -T600 さくしたつもりが、反対に大きくしたこ | ;; とになっていたということか。 # ps -ef | grep popper ... /usr/local/qpopper/sbin/popper -s -t /var/log/qpopper/qpopper.log -R -S -T60 /etc/rc3.d/S99QPOPPER ※ オプションの記述に注意。途中にコメン ------------------------------------- トを入れるとおかしくなる。 |#!/bin/sh |case "$1" in | "start") | /usr/local/qpopper/sbin/popper \ |# -s \ |# -t /var/log/qpopper/poplog \ ※ -t /var/log/qpopper/poplog \□ ここ | -R -S -T600 に半角のブランクが入っていても、同様 のエラ−が出てくる。これはだいぶ前に # /etc/rc3.d/S99QPOPPER start 気が付いていた。 /etc/rc3.d/S99QPOPPER: -R: 見つかりません。 /etc/rc3.d/S99QPOPPER ※ -s オプションはログを取る際に付ける ------------------------------------- ようである。この指定ではいらないと思 |#!/bin/sh う。-T120 の 120 はデフォルト値。 |case "$1" in | "start") | /usr/local/qpopper/sbin/popper -R -S -T120 | ;; # ps -ef | grep popper root 390 1 0 16:59:45 ? 0:00 /usr/local/qpopper/sbin/popper -R -S -T120 ------------------------------------------------------------------------------------ [ 付録 ] いろいろ ● Qpopper のログをとるオプション `2b/03 popper -s -t /var/log/qpopper/qpopper.log -R -S -T60 -s オプションは syslog デ−モンでの制御によりログをとるもの。/etc/syslog.conf に それなりに記述して、ログのファイルを指定して、始めてログが取られるものである。ど こかデフォルトのファイル名があって、 -s 指定しただけでログが取られているというこ とではない。 popper -R -S -T60 -t /var/log/qpopper/qqq 元々 qqq というファイルはなかった。popper を起動したら qqqファイルはできた。以下 はその時に出たログである。-t ファイル名でログが取られるということである。 本当に popper を起動しただけのログである。メ−ルを受信したりは一度もしてない。 # cd /var/log/qpopper # cat qqq Mar 24 11:26:20.006 2011 [21469] Opened trace file "/var/log/qpopper/qqq" as 4 Mar 24 11:26:20.006 2011 Mar 24 11:26:20.008 2011 [21470] popper: Server: child of first fork(); pid=21470 Mar 24 11:26:20.008 2011 Mar 24 11:26:20.009 2011 [21471] popper: Server: child of second fork(); pid=21471 Mar 24 11:26:20.009 2011 Mar 24 11:26:20.010 2011 [21471] calling chdir() Mar 24 11:26:20.010 2011 Mar 24 11:26:20.010 2011 [21471] closing file descs 256 to 0 Mar 24 11:26:20.010 2011 Mar 24 11:26:20.010 2011 [21471] opened stdin=0; stdout=1 stderr=2; i=0; rslt=2; msg_out=44c88 Mar 24 11:26:20.010 2011 Mar 24 11:26:20.011 2011 [21471] opened stream socket; sockfd = 3 Mar 24 11:26:20.011 2011 Mar 24 11:26:20.011 2011 [21471] set stream socket options; sockfd = 3 Mar 24 11:26:20.011 2011 Mar 24 11:26:20.011 2011 [21471] did bind on stream socket; sockfd = 3 Mar 24 11:26:20.011 2011 Mar 24 11:26:20.011 2011 [21471] popper: Server: listening on 0.0.0.0:110 Mar 24 11:26:20.011 2011 Mar 24 11:26:20.011 2011 [21471] listening using socket fd 3 Mar 24 11:26:20.011 2011 Mar 24 11:26:20.011 2011 [21471] set fd 3 non-blocking (0x82) Mar 24 11:26:20.011 2011 Mar 24 11:26:20.011 2011 [21469] popper: Server: first fork(); child=21470; exiting Mar 24 11:26:20.011 2011 Mar 24 11:26:20.013 2011 [21470] popper: Server: second fork(); child=21471; exiting Mar 24 11:26:20.013 2011 ● POP クライアントいろいろ '96 * INDY Netscape Mail の場合 INDY で IRIX 5.3、Netscape 3.03S の場合を示す。3.03S の S は INDY では日本語対応 の意味である。設定内容は Windows 版もほとんど同じである。メ−ルユ−ザ katou とし て説明する。先ず INDY に katou というユ−ザを作る。 受け取ったメ−ルを保存するた めである。このマシンの /etc/passwd には、 katou のパスワ−ドは設定しなくても POP にも、メ−ルを送るのにも関係しない。メ−ルを送るのは SMTP を使うが Netscape Mail がメ−ルサ−バに直接送るので、 このマシンには結局 sendmail や sendmail.cf は必要 ない。 具体的な設定は Netscapeを立ち上げ "Options" の "Mail and News Preference" を選択し、以下のように項目を埋めればよい。 << メ−ルを送る設定 >> [ Server の項目 ] - Outgoing Mail ----------------------- | | SMTP Server: mail.nix.co.jj << 外にメ−ルを打つのに使う。 IPアドレスでもよい。 注.ここをブランクにしておくと、INDY の Netscape Mail ではマシンに sendmail が稼 働していれば、それでメ−ルを配送する。 Windows の Netscape Mail はそういうわ けにはいかないが。 [ Identity の項目 ] - Identity ---------------------------- | | Your Name : Ikken Katou << 送ったメ−ルに From アドレスと | Email Address : katou@nix.co.jj << して、ここで設定したのが付く。 | Your Organaization: << 別になくてもよい。 | Signature File : /usr/people/katou/.signature << 別になくてもよい。 この設定画面のデフォルト、またはデフォルトのボタンを押すと、このマシンで今ロッグ インしているユ−ザのニックネ−ム "KATOU" が上記 'Your Name' に入ることになる。 /etc/passwd ↓ ---------------------------------------- |katou::102:100:KATOU:/usr/people/katou: 注.上記は From アドレスを、どんなようにでも付けることが可能であることを示してい る。つまり発信元の偽造や、どこのマシンからでも自分の名前で送ることができるわ けである。 << メ−ルを取り込む設定 >> [ Server の項目 ] - Incoming Mail ----------------------- | |◆ POP3: Server: mail.nix.co.jj << メ−ルをもらうのに使う。 | User Name: katou << POP のユ−ザ名を入れる。 | | After delivery: ◇ Remove from Server ◆ Leave on Server | Check for Mail: ◆ Every 15 minutes ◇ Never | ↑ メ−ルはサ−バに残し、15分毎に見にいく設定。 [ Organization の項目 ] - Mail and News ... ------------------- | | ■ Remember Mail Password << POP サ−バに接続時に2回目からパ スワ−ドを入れなくてもよくなる。 * INDY Zmail の場合 POP クライアントの INDY 側 の設定である。パスワ−ドなし、ユ−ザIDは POP サ−バ 側の /etc/passwd のと同じにすること。POP クライアント側マシンの /etc/passwd には、 パスワ−ドはなくてもいい。サ−バ側の /etc/passwd には必要である。 クライアントが サ−バに接続する際、サ−バ側からパスワ−ドの入力を求められるので、その時に入れる。 % cat /etc/passwd tomo::300:100:tomo:/usr/people/tomo:/bin/csh % ls -a /usr/people/tomo << POP ユ−ザ tomo さんのホ−ムディレクトリ。 た .zmailrc .login Mail/ だメ−ルを読み書きするだけなら、 ホ−ムディレ クトリは基本的には必要ない。しかし Zmail を使 .login いたいなら必要ということになる。 -------------------------------- | | これを追加 |setenv MAILHOST mail.nix.co.jj .zmailrc -------------------------------------------------------- |set saved_by_version="Z-Mail (3.2.1 6apr95 MediaMail)" |unset warning |#set mailhost=mail.nix.co.jj << .login で setenv 指定しない場合。 | |set alternates << 以下、基本変数の設定。 |set pop_options |set recursive |set use_pop |set verify=split_send |if hdrs_only | exit |endif % login tomo << tomo でロッグインしてメ−ルを見てみる。 % zmail POP パスワードを入れてください: 1 個を回復しています ... Z-Mail (3.2.1 6apr95 MediaMail): ヘルプを表示するには '?' をタイプしてください。 [0]+ /usr/tmp/.tom1159cbbbbb: 1 メッセージ、1 新規、1 未読、0 削除 > 1 N katou Jan 19 4:11 (10) (4:24pm) Mailbox: #1 of 1> 1 1 メッセージ #1 (10 行 ) From katou Fri Jan 19 16:11:36 1996 Date: Fri, 19 Jan 1996 16:11:36 +0900 From: katou << katou さんからメ−ルが来てます。 To: tomo@nix.co.jj << % ls -l /var/mail ここにメ−ルはセ−ブされる。 heno heno mohe -rw------- 1 tomo user 296 ... tomo ● Apollo での Qpopper 3.0.2 のコンパイル `02/06/13 OSは SR10.4.1、適当なところで展開してコンパイルかけてみた。 すんなりとは行かな かった。make は Apollo に入っていたのである。GNU のではない。Apollo ではCシェル になるのに /bin/start_csh とやる。root だと # 表示になるのだが、他のマシンと区別 するため $# とした。 $ /bin/start_csh << 展開した qpopper3.0.2 ディレクトリに入って。 $# ./configure | creating ./config.status creating Makefile creating common/Makefile << 3つの Makefile の .c.o: のとこの -o をとる。 creating popper/Makefile << ${CC} -c ... ${OS_DEFS} $< $@ creating mmangle/Makefile << creating config.h popper/Makefile のここの ${LIBS} をとる。または #LIBS = .. とコメントにする。 ----------------- |popper: ${OBJS} mangler_library common_library | ${CC} ${OBJS} -o popper ${mmangle_dir}/libmangle.a ${common_dir}/libcommon.a config.h configure するとこのファイルはできる。コメントにするか 1のと ------------------------------- こを 0 にする。 |/* #define HAVE_STRINGS_H 1 */ $# make cd ./popper && make all /bin/cc -c -I.. -I.. -I. -I../mmangle -I../common \ -g -DHAVE_CONFIG_H -DUNIX pop_dele.c pop_dele.o | $# ls -l popper/popper -rwxrwxrwx+ 1 root 517265 Jun 13 12:44 popper/popper この popper を /usr/etc/qpopper にでもコピ−する。/etc/services, inetd.conf をい じって、$# kill -HUP inetd_ID をやる。動作確認は $ telnet localhost 110 とやって "+OK QPOP (version 3.0.2) at node_abcd starting." このように返答してきたらOKで ある。telnet から抜けるには quit と入れる。 以下は make でワ−ニングが出た所であ る。もし動作がおかしかったら、ここを修正してみること。 popper/pop_init.c 403行目が const * "_HERRORS". がおかしいと出た _HERRORS[h_errno] : "(unknown)" ), h_errno ); mmangle/striphtml.c 321行目が const * がおかしいと出た const char *szSrch = what ? gszEntNames : gszElemNames; Line 321 .. Illegal conversion from const * mmangle/etags.c 150行目が const * がおかしいと出た return &wordlist[key]; 注.ワ−ニングが出るが telnet localhost 110 とやると、ちゃんとOKが出た。しかし 実際メ−ルを送って POP3 の設定したパソコンの Netscape Messenger で見ると、内 容はちゃんと来ているが、X-UIDL: KD(!!"%0"!;-N$"!;j>!! というように化けてしま った。ここはちゃんと数字とアルファベットの並びが正常のようである。それでもう 一つの 2.x 系列の Qpopper も試してみることにした。以下がそうだが、こちらはち ゃんと X-UIDL: のとこなっていました。2.53 の方が軽いし、これでいいのでないか。