[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

3. MIME message の編集

URL="https://bookshelf.jp/cgi-bin/goto.cgi?file=mime-ui-ja&node=MIME-Edit"
"mime-ui-ja/MIMEmessageの編集"へのコメント(無し)

MIME-Edit は GNU Emacs で動作する汎用的な MIME composer です。



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

3.1 MIME message を編集するための minor-mode

URL="https://bookshelf.jp/cgi-bin/goto.cgi?file=mime-ui-ja&node=mime-edit-mode"
"mime-ui-ja/MIMEmessageを編集するためのminor-mode"へのコメント(無し)

mime-edit-mode は MIME message を作成するための minor-mode です。 この mode では tag を使ってさまざまな種類の data を表現し、さま ざまな種類の data からなる複数の部分からなる message を編集することを可 能にしています。

tag には

の2つがあります。

single-part tag は single part を表現するための tag で、

 
        --[[TYPE/SUBTYPE;PARAMETERS][ENCODING]
        OPTIONAL-FIELDS]

というような形をしています。

TYPE/SUBTYPE および PARAMETERS は Content-Type ( (mime-ja)Content-Type) 欄の type/subtype および parameters を表し ます。TYPE/SUBTYPE は必須であり、PARAMETERS は省略可です。

ENCODING は Content-Transfer-Encoding ( (mime-ja)Content-Transfer-Encoding) 欄を表します。これも省略可で す。

OPTIONAL-FIELDS は Content-Type, Content-Transfer-Encoding 以外の field を書くための部分で、省略可です。

multi-part tag は multi part ( (mime-ja)multipart) を表現するための tag で、

 
        --<>-@{

という形の multi-part 開始 tag と呼ばれる multi part の開始を示す tag と

 
        --@}-<>

という形の multi-part 終了 tag と呼ばれる multi part の終了を示す tag があります。

また、multi-part 開始 tag と multi-part 終了 tag で囲まれた部分を enclosure と呼びます。



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

3.2 single-part に対する操作

URL="https://bookshelf.jp/cgi-bin/goto.cgi?file=mime-ui-ja&node=single-part%20tags"
"mime-ui-ja/single-partに対する操作"へのコメント(無し)

single-part を作るための操作には以下のようなものがあります。

C-c C-x C-t
text part を表す single-part tag を挿入します。

C-c C-x C-i
file を MIME part として添付します。前に C-u を付けた場合、常に media-type, subtype 等を聞いて来ます。(cf. @xref{tag specification for inserted file})

C-c C-x C-e
external part を挿入します。

C-c C-x C-v
C-g が押されるまで録音を行い、音声 part を挿入します。(使 用できない場合があります)

C-c C-x C-y
現在表示中の (mail or news) message を挿入します。(実際の動作は使用し ている MUA に依存します)

C-c C-x C-m
mail message を挿入します。

C-c C-x C-w, C-c C-x C-s
signature を挿入します。

C-c C-x C-k
PGP (4.1 PGP) の公開鍵を挿入します。

C-c C-x t
任意の single-part tag を挿入します。



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

3.3 enclosure に対する操作

URL="https://bookshelf.jp/cgi-bin/goto.cgi?file=mime-ui-ja&node=enclosure%20tags"
"mime-ui-ja/enclosureに対する操作"へのコメント(無し)

enclosure を作るための操作としては以下のようなものがあります。

C-c C-m C-a
指定した region を multipart/alternative として囲みます。

C-c C-m C-p
指定した region を multipart/parallel として囲みます。

C-c C-m C-m
指定した region を multipart/mixed として囲みます。

C-c C-m C-d
指定した region を multipart/digest として囲みます。

C-c C-m C-s
指定した region に電子署名を行います。(cf. 4.1 PGP)

C-c C-m C-e
指定した region を暗号化します。(cf. 4.1 PGP)

C-c C-m C-q
指定した region 内の tag を無効にし、その tag を文字列として利用できる ようにします。(現在の版ではうまく働かないことがあります。また、電子署 名との併用に関しても不完全です)



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

3.4 mime-edit-mode におけるその他の操作

URL="https://bookshelf.jp/cgi-bin/goto.cgi?file=mime-ui-ja&node=other%20MIME-Edit%20operations"
"mime-ui-ja/mime-edit-modeにおけるその他の操作"へのコメント(無し)

mime-edit-mode におけるその他の操作を説明します。

C-c C-c
編集中の message を送信します。

C-c C-x p
編集中の message を preview します。(cf. 2. MIME message の閲覧)

C-c C-x C-z
編集中の message を送信することなく、mime-edit-mode を終了します。

C-c C-x /
大きな message を送信する場合に message/partial 形式に自動分割可能とす るかどうかを決めます。

C-c C-x 7
transfer level (3.6 transfer level) を 7bit ( (mime-ja)7bit) にし ます。

C-c C-x 8
transfer level (3.6 transfer level) を 8bit ( (mime-ja)8bit) にし ます。

C-c C-x v
message 全体を電子署名するかどうかを決めます。(cf. 4.1 PGP)

C-c C-x h
message 全体を暗号化するかどうかを決めます。(cf. 4.1 PGP)

C-c C-x ?
help message を表示します。



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

3.5 挿入される file に対する tag の決定

URL="https://bookshelf.jp/cgi-bin/goto.cgi?file=mime-ui-ja&node=file-type%20specification"
"mime-ui-ja/挿入されるfileに対するtagの決定"へのコメント(無し)

C-c C-x C-i (mime-edit-insert-file) を実行した時、挿入され る file に対する media-type や encoding などの tag の情報は変数 mime-file-types によって file 名から推測されます。

前に C-u を付けた時、および、適当な値が見付からなかった場合、user に対して値の入力を促します。(前に C-u を付けた時、推測された値が 既定値として用いられます)

file 名に対する既定値を変えたい場合は変数 mime-file-types を設定して下さい。

Variable: mime-file-types

挿入される file の file 名に対する tag の既定値を与える。

この変数は

 
       (FILE_PAT TYPE SUBTYPE PARAMS ENCODING
         DISPOSITION_TYPE DISPOSITION_PARAMS)

という list の list で、各要素は以下の通りである:

`FILE_PAT'
file 名を表す正規表現

`TYPE'
media type

`SUBTYPE'
media subtype

`PARAMS'
Content-Type field の parameter

`ENCODING'
Content-Transfer-Encoding

`DISPOSITION_TYPE'
disposition-type

`DISPOSITION_PARAMS'
Content-Disposition field の parameter

設定例: `*.rtf' に対する media type を application/rtf に する場合

 
(eval-after-load
    "mime-edit"
  '(set-alist 'mime-file-types
              "\\.rtf$"
              '("application" "rtf" nil nil
                "attachment" (("filename" . file)))
              ))



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

3.6 transfer level

URL="https://bookshelf.jp/cgi-bin/goto.cgi?file=mime-ui-ja&node=transfer%20level"
"mime-ui-ja/transferlevel"へのコメント(無し)

message に挿入する data は 7bit ( (mime-ja)7bit) ないし 8bit ( (mime-ja)8bit) もしくは binary ( (mime-ja)binary) で表現する ことができます。

よって、7bit しか通さない MTA ( (mime-ja)MTA) を経由する場合、7bit の data はそのままで送れますが、8bit や binary の data は 7bit に変換し なければなりません。

同様に、8bit しか通さない MTA を経由する場合、7bit や 8bit の data はそ のままで送れますが、binary の data は 7bit か 8bit に変換しなければなり ません。

[Memo]

EBCDIC しか通さない MTA を経由する場合、7bit の data も base64 等で変 換しないと送れませんが、私は EBCDIC のことまでは知りません。(^_^;

同様に、制御文字を通さない MTA のことや code 変換を行なう MTA も消えてな くなって欲しいです。(^_^;

binary も通す MTA も存在するんでしょうが、今のところあまり一般的とはいえ ないでしょう。

transfer level というのはどの範囲の data まで送れるか ということを表すものです。mime-edit は mime-transfer-level という変数を持っており、これで transfer level を表現します。

Variable: mime-transfer-level

transfer level を表す。

ある data の transfer level がこの値を越える場合、7bit data への変換が行 われる。

現在のところ、7 か 8 が有効である。既定値は 7 である。

EBCDIC を 5, ASCII printable のみを 6, binary を 9 とすることを計画して いるが、実装の予定はない。

[Memo]

transfer level は message header (@xref{header}) には関係しない。MIME は body において、8bit の data を使えるように STD 11 ( (mime-ja)STD 11) を拡張しているが、message header では us-ascii ( (mime-ja)us-ascii) のみを用いることを求めている。



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

3.7 Splitting

URL="https://bookshelf.jp/cgi-bin/goto.cgi?file=mime-ui-ja&node=message/partial%20sending"
"mime-ui-ja/Splitting"へのコメント(無し)

Variable: mime-edit-split-message

Non-nil ならば大きなメッセージを分割して送信します。

Variable: mime-edit-message-default-max-lines

メッセージの最大行数のデフォルト値です。

Variable: mime-edit-message-max-lines-alist

メジャーモード対メッセージの最大行数から成る連想リストです。

メジャーモードがここで指定されてない場合には mime-edit-message-default-max-lines を用います。

Variable: mime-edit-split-blind-field-regexp

分割送信の際に無視されるフィールド名にマッチする正規表現です。


[ << ] [ >> ]           [表紙] [目次] [索引] [検索] [上端 / 下端] [?]