Subject: Re: mh no popd (POP) to JIS hassin

From: [email-masked] (Takahiro Yamamoto)
Date: 1 Dec 93 11:21:21 GMT

NTTソフト研の山本隆広です。

なんとか解決できたので自分でfollow してしまいます。

In article <[email-masked]> [email-masked] (Takahiro Yamamoto2) writes:

 ]] NTTソフト研の山本隆広です。
 ]] mh-6.8JP2c についていくつかわからないことがあるので教えて下さい。
 ]] mhの動作環境は SunOS4.1.3+JLE です。
 ]] 1.popd がうまく動かない
 ]] conf/MH に
 ]] ---
 ]] options APOP='"/etc/pop.auth"'
 ]] options DPOP
 ]] options MPOP
 ]] options RPOP
 ]] options POP2
 ]] options POPSERVICE='"pop3"'
 ]] #
 ]] options BIND
 ]] options UNISTD
 ]] options LOCKF
 ]] #
 ]] ---
 ]] の行を付け加えて mh をコンパイルして、popd を動かすと、
 ]] 外部のマシンから popd にアクセスしようとすると、
 ]] [7] ---> -ERR POP server loses on DB initialization -- POP user-id unknown
 ]] というエラーがおきて、/etc/pop.auth がうまく作られません。
 ]] なぜでしょうか？

【popd のセット】

結局、以下のように conf/MHを設定しなおしてリコンパイルしました。
--------
#options APOP='"/etc/pop.auth"'
#options DPOP
#options MPOP
options RPOP
options POP2
options POPSERVICE='"pop3"'
#
#options BIND
options UNISTD
options LOCKF
#
---
つまり、 RPOPとPOP2 以外の APOP,DPOPなどのオプションをコメントアウトし、
BINDもコメントアウトしました。(なぜか、BINDをつけてインストールすると、
gethostbyaddr の関数がうまくうごかなくて、パーミッション関連が
うまくうごきませんでした。)

そして、/etc/rc.local に以下のように設定しました。

-----
if [ -f /usr/local/etc/popd ]; then
        /usr/local/etc/popd 1>/dev/null 2>&1
        echo -n 'popd'
fi
-----

【mhのユーザ側のセット】
これは、各ユーザの ‾/.rhosts にクライアントマシン名を登録してもらい、
‾/.mh_profile に以下のように定義してもらいました。

--
inc:     -form inc.mime -host {ｐｏｐｄが動作しているホスト名}
--

【Emacsのrmailのインストール】
Emacs の rmail から pop経由でメールを読むため、
movemail.cを以下のように変更しました。
---
*** movemail.c  Mon Nov 29 15:48:02 1993
--- movemail.SunOS.c    Mon Nov 29 15:45:06 1993
***************
*** 526,532 ****
        return NOTOK;
      }
  
!   sp = getservbyname ("pop", "tcp");
    if (sp == 0)
      {
        strcpy (Errmsg, "tcp/pop: unknown service");
--- 526,532 ----
        return NOTOK;
      }
  
!   sp = getservbyname ("pop3", "tcp");
    if (sp == 0)
      {
        strcpy (Errmsg, "tcp/pop: unknown service");
--------
そして以下のようにコンパイルしました。

% cc -DMAIL_USE_POP -o movemail movemail.c

次に movemailのオーナを変更しました。

# chown root movemail
# chmod a+x movemail
# chmod u+s movemail

【Emacsのrmailの各ユーザの設定】
これも、各ユーザの ‾/.rhosts にクライアントマシン名を登録してもらい、
各ユーザには ‾/.cshrc で
--
setenv MAILHOST {ｐｏｐｄが動作しているホスト名}
--
と設定してもらい、 ‾/.emacs上で

--
;; For Pop
(setq  rmail-spool-directory "po:"  )
--
と設定してもらいました。

 ]] 2.NEmacs の file I/O のコードを EUC に設定しておいて mh-e から 送信すると
 ]]   EUCで送信されてしまう。

metamail.elを使っていたので、 ‾/.emacs 上で以下のように定義しました。
-----
(setq mh-letter-mode-hook
       (list
        (function
         (lambda ()
           (cond ((boundp 'NEMACS)
                  (setq kanji-fileio-code 2))
                 ((boundp 'MULE)
                  (set-file-coding-system *junet*)))
           (mime-mode)
           (make-local-variable 'mail-header-separator)
           (setq mail-header-separator "--------")))))
---

p.s.
popdを APOPのオプションでコンパイルした時の使い方は最後までわかりません
でした :-)

--
---     Takahiro YAMAMOTO                               ---
---        NTT Software Laboratories                    ---
---           TEL (03)3740-6058  FAX (03)3740-5524      ---
---              <[email-masked]>    (^_^)      ---