Subject: list of MIME tools

From: [email-masked] (守岡 知彦 (MORIOKA Tomohiko))
Date: Fri, 29 Oct 1993 19:22:25 GMT

MIME の NG 設立を期待して、簡単な MIME tool のリストを作成しました。

  間違い等多く含まれているとは思いますが、指摘して頂けたら幸いです。
〓〓〓〓〓〓〓〓〓〓〓 ロシアン・ティーを一杯。 〓〓〓〓〓〓〓〓〓〓〓
〓〓〓〓〓  ☆ ジャムではなくマーマレードでもなく蜂蜜で ☆  〓〓〓〓〓
〓〓〓〓〓         МОРいОКА  ТОМОХИКО         〓〓〓〓〓
〓〓〓〓〓〓〓  Internet E-mail: <[email-masked]>  〓〓〓〓〓〓〓

---

From: 平野 聡 <[email-masked]>
Date: Fri, 29 Oct 1993 20:07:10 GMT

私の MIME インストール記です。村上さん、森岡さん、ありがとう。(^_^) 
これで nifty からのメールもちゃんと読めます。

In article <[email-masked]> [email-masked] (=?ISO-2022-JP?B?GyRCPGkyLBsoQiAbJEJDTkknGyhC?=
 (MORIOKA Tomohiko)) writes:
   >** GNUS
   >
   >  GNUS は 3.14.4 以降？、metamail.el を用いた、MIME へのサポートを行なっ
   >ています。標準の GNUS の場合、Summary mode 上で、M-t を押すことによっ
   >て、MIME の decode をしないモードと、metamail による MIME の decode を
   >行なうモードが切り替わります。しかし、metamail を用いた decode は重た

うちでは metamail と metamail.el がインストールしてあったので、
もしやと思って M-t したら、バッファがフニュッと動いて見事に
日本語のヘッダが見えました。(^_^)

gnus や mh-e にパッチを当てる必要があるのかなと気が重かったのに
こんなに簡単だったとは。  カッカッカッカ

いろいろなツールがありますが、私が使ったのは metamail と
metamail.el です。gnus や mh-e にパッチを当てる必要はありません。

◎ gnus で MIME

1 metamail をインストールします。
2 umerin さんの metamail.el と mime.elを elisp のライブラリの
  ディレクトリにおきます。(bytecompile すればなおよし)
3 gnus 3.14.4 をインストールします。
4 metamail.el の最初の部分を見て、.emacs に追加をします。
5 .login に次の行を入れます。また、コマンドラインからも実行します。
  setenv MM_CHARSET iso-2022-jp
6 nemacs を立ちあげ直して、gnus を実行します。

metamail や metamail.el の場所は森岡さんの記事を見て下さい。
うしろに .emacs の例をつけましたので、参考にして下さい。

◎ mh-e で MIME、私の場合

1 metamail をインストールします。
2 mh (最新版の6.8.1-JP.2c)と藤村＠芸工大さんの mh-jheader-kit.tar.gz 
  を取ってきます。
3 mh-e の最新版 3.8 を取ってきて、elisp のディレクトリに置きます。
4 mh を MIME 付きでインストールします。
  例えば sun の場合、conf/MH.sun を conf/MH にコピーし、ディレクトリなどの
  設定を自分のところに合わせてから、コンパイルします。
5 mh-jheader-kit.tar.gz をほどいて mh 用の設定ファイルを設定します。
  これも READ-ME を読めば何をどこへ置くか丁寧に書いてあります。
6 .login に次の行を入れます。また、コマンドラインからも実行します。
  setenv MM_CHARSET iso-2022-jp
7 .emacs に (setq mhl-formfile "mhl.mime") を入れます。
8 nemacs を立ちあげ直してメールのテストをします。

.emacs の例をつけましたので、参考にして下さい。

◎ .emacs (Nemacs3.3.2)

;(global-set-key "¥C-xm" 'mh-rmail)

;;
;; mh mail system
;;
(setq mh-progs "/usr/local/bin/mh/")
(setq mh-lib   "/usr/local/lib/mh/")
(setq mh-ins-buf-prefix "> ")
(setq mh-yank-from-start-of-msg nil)
(setq mh-compose-letter-hook '(lambda (x y z) (auto-fill-mode 1)))
(setq mhl-formfile "mhl.mime")
;;
;; for gnus; news system
;;
(autoload 'gnus "gnus" "Read network news." t)
(autoload 'gnus-post-news "gnuspost" "Post a news." t)
;(setq gnus-nntp-server "etlss2")
(setq gnus-nntp-service 119)
(setq gnus-use-generic-from t)
;(setq gnus-author-copy "|/usr/local/lib/mh/rcvstore +article")
;(define-program-kanji-code nil "rcvstore" 2)
;(setq gnus-mail-reply-method (function gnus-mail-reply-using-mhe))
;(setq gnus-default-article-saver
;      '(lambda ()
;	 (interactive)
;	 (let ((gnus-article-mh-folder (concat "+" gnus-newsgroup-name)))
;	   (call-interactively 'gnus-Subject-save-in-folder))))
;(setq mail-yank-original-quoting-indicator "  >")
;(setq news-yank-original-quoting-indicator "  >")
;(setq gnus-save-all-headers t)
;(load "supercite")
;;
;; mime
;;
(autoload 'mime-mode "mime" "Minor mode for editing MIME message." t)
(setq mh-letter-mode-hook
      (list
       (function
        (lambda ()
          (mime-mode)
          (make-local-variable 'mail-header-separator)
          (setq mail-header-separator "--------")))))
(setq news-reply-mode-hook
      (list
       (function
        (lambda ()
          (mime-mode)))))
(setq rmail-mode-hook
      (list
       (function
        (lambda ()
          ;; Forward mail using MIME.
          (require 'mime)
          (substitute-key-definition 'rmail-forward
                                     'mime-forward-from-rmail-using-mail
                                     (current-local-map))
          ))))
(setq gnus-mail-forward-method 'mime-forward-from-gnus-using-mail)
(setq gnus-summary-mode-hook
      (list
       (function
        (lambda ()
          ;; Forward article using MIME.
          (require 'mime)
	  ))))

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
平野   聡           電子技術総合研究所

[email-masked]    The future is Fluid.

---

From: [email-masked] (enami tsugutomo)
Date: 30 Oct 93 02:41:45 GMT

In article <[email-masked]>,
	[email-masked] (守岡 知彦 (MORIOKA Tomohiko)) writes:

>   mime/decode-message-header 関数は, unfolding(encode された時, 折り
> 返されたものを元に戻す)を指定しないと, 正しく decode しないというバグ?
> があるようです.

	これは message の header 部分において, mime-encoded-word
	linear-white-space mime-encoded-word という並びを decode する
	際に, 間の linear-white-space が残るということでしょうか?

	これについては今のところわざとそうしています.  間の 
	linear-white-space がもともと存在するものであった場合の 
	encoder の動作の規定がみつからなかったからです(斜め読みだから
	見落している可能性大:).

>   また, encoder も含まれていますが, encode 結果が RFC 1522 に違反する
> ので encoder は使用しない方が良いでしょう.

	これは例えば日本語とasciiが連続していた場合かな?  この場合もじゃ
	あ元からあった linear-white-space は? っていう規定はどうなって
	いるのでしょうか?  連続していたら ascii の部分も含めて encode 
	しなさいってことかな?

えなみ つぐとも

---

From: [email-masked] (Kagimoto Takashi)
Date: Sat, 30 Oct 1993 05:55:49 GMT

鍵本＠東大・理・地惑と申します。はじめまして。

>>>>> On 30 Oct 1993 05:07:10 JST, [email-masked] (平野 聡　) said:

平野> ◎ mh-e で MIME、私の場合

平野> 1 metamail をインストールします。
平野> 2 mh (最新版の6.8.1-JP.2c)と藤村＠芸工大さんの mh-jheader-kit.tar.gz 
平野>   を取ってきます。
平野> 3 mh-e の最新版 3.8 を取ってきて、elisp のディレクトリに置きます。
平野> 4 mh を MIME 付きでインストールします。
平野>   例えば sun の場合、conf/MH.sun を conf/MH にコピーし、ディレクトリなどの
平野>   設定を自分のところに合わせてから、コンパイルします。
平野> 5 mh-jheader-kit.tar.gz をほどいて mh 用の設定ファイルを設定します。
平野>   これも READ-ME を読めば何をどこへ置くか丁寧に書いてあります。
平野> 6 .login に次の行を入れます。また、コマンドラインからも実行します。
平野>   setenv MM_CHARSET iso-2022-jp
平野> 7 .emacs に (setq mhl-formfile "mhl.mime") を入れます。
平野> 8 nemacs を立ちあげ直してメールのテストをします。

うちでは mm2.6 を install し、 mh-6.8.1-JP.2c を上記のように
install してみたんですが、

を設定すると、日本語のメールそのものが化けてしまいます。

(setq mh-show-mime t)

としてますが駄目です。gnus の方は先日 fj に投稿された tiny-mime.el
を使い、gnus に patch を当てて使ってます。umerin さんの gnus-mime.el
では Summary buffer を decode してくれなかったのでそうしています。
因みに tiny-mime.el を使って mh-e にパッチを当て、

(setq mh-letter-mode-hook
      (list
       (function
        (lambda ()
          (mime-mode)
          (make-local-variable 'mail-header-separator)
          (setq mail-header-separator "--------")
	  (mime/decode-message-header)))))

(setq mh-show-mime 2)

を .emacs に書いても文字化けしました。どうしたら文字化けせずに
使えるのでしょうか？  うちの仕様は

   機種        SPARC station 2
   ＯＳ        SunOS Release 4.1.2-JLE1.1.2
   editor      nemacs 3.3.2
   MH          mh-6.8.1-JP.3c
   metamail    mm2.6
   mh-e        mh-e 3.8 + tiny-mime.patch

です。どうかよろしくお願い致します。
----
         鍵本  崇＠東京大学大学院理学系研究科地球惑星物理学専攻
         Takashi Kagimoto@Dep. of Earth and Planetary Phys.
         E-mail:[email-masked]

---

From: [email-masked] (Kagimoto Takashi)
Date: Sat, 30 Oct 1993 06:49:12 GMT

鍵本＠東大・理・地惑です。

>>>>> On 30 Oct 1993 14:55:49 JST, [email-masked]

>> を設定すると、日本語のメールそのものが化けてしまいます。

これを設定しないとうまくいきました。

＃mime-mode で編集したメッセージを送ってはいけないのかしら？
----
         鍵本  崇＠東京大学大学院理学系研究科地球惑星物理学専攻
         Takashi Kagimoto@Dep. of Earth and Planetary Phys.
         E-mail:[email-masked]

---

From: [email-masked] (HIRANO Satoshi)
Date: Sun, 31 Oct 1993 09:16:15 GMT

まず訂正です。mh-e6.8.1-JP2 は metamail のインストールをしなくても
送受信とも MIMEになります。

   >を設定すると、日本語のメールそのものが化けてしまいます。

mh自体 が MIME のエンコード／デコードをしてくれます(*0)から、
これを設定すると、mime-mode でエンコードしたメールを
mh が再びエンコードすることになります。このフックを
設定しないとうまくいくのは正しいです。

けれども、我思うにフックを設定しても害はない(はずだ *1)し、
メールボディの作文にmime-mode は便利だそうなので、私はそうしています。
こちらではちゃんと動いています。
うーむ、鍵本さんのところでうまくいかないのは何が問題なんでしょうね。
うちは jis がデフォルトだけど、鍵本さんのところはEUC だとか。

*0 .mh_profile に send: -hencode と書いてある場合。
   藤村＠芸工大さんの mh-jheader-kit.tar.gz を使うとこうなる。
*1 mime-mode が日本語の Subject: を ascii にして mh に渡すから
   mh は何もしないはず。

   >では Summary buffer を decode してくれなかったのでそうしています。

あ、ホントだ…。gnus の場合は、metamail.el より tiny-mime.el の
方がいいかな。gnus 3.14.4 で metamail.el を使うのはインストールは
簡単だけど、重いし、ヘッダだけのデコードができないし(*2)。

*2 ボディもデコードしてしまうから、ボディに MIME でバイナリファイル
   などが入っていると、バイナリファイルの取り出しを(いらなくても)する。

   >を .emacs に書いても文字化けしました。どうしたら文字化けせずに

これは上に書いたのと同じ原因(mime-mode.el と mh が２重にエンコードする)
だと思います。

★ 何が何だか、ようやくわかってきたぞ。