MIMEについての解説はMIMEとは(初心者向け)を参照
cmail
でMIME形式のファイル添付を行うためには
mmencode
が必要です. 次のコマンドを実行してmmencode
が利用できるかどうか確認してください (csh
系のシェルを利用している人はtype
の部分をwhich
としてください).
$ type mmencode mmencode is /usr/local/metamail/mmencode
上のようにmmencode
のパスが出力された場合,mmencode
が利用可能になっています.
ファイルを添付したい位置でC-c C-x [TAB]とタイプして (あるいはメニューバーのMIME-Edit
からInsert
File
を選択して)
mime-editor/insert-file
を呼び出します.
mime-editor/insert-file
を呼び出すと,
まず,ファイル名を入力するように促されますので,添付したいファイルのファイル名を入力してください (例えば~/foo.tar.gz
とか).
次に,What transfar encoding
とエンコード方法をきいてきますので, これには必ずbase64と答えてください.
添付しようとするファイルがバイナリファイルの場合,デフォルトでbase64が選ばれてミニバッファに表示されているはずです.
添付しようとするファイルがテキストファイルの場合,エンコード方法のデフォルト値はありませんが, 自分でbase64とタイプしてbase64を指定してください.
cmail
ではbase64のほかにも,7bit,8bit,binary,quoted-printable,x-gzip64,x-uue
といったエンコード方法が指定できるようになっていますが,base64以外のエンコード方法を使うべきではありません.
メールにMIME形式でファイルが添付されていた場合,cmail
では次のように表示されます.
Date: Mon, 21 Sep 1998 07:51:52 +0900 (JST) From: Takashi HATAI <mail-address> X-Mailer: cmail 2.59.11 on GNU Emacs 20.2.2 / Mule 3.0 (MOMIJINOGA) To: mail-address Subject: test mime Mime-Version: 1.0 (generated by tm-edit 7.106) Content-Type: multipart/mixed; boundary="Multipart_Mon_Sep_21_07:51:52_1998-1" Content-Transfer-Encoding: 7bit [1. <text/plain; ISO-2022-JP (7bit)>] (ここは添付ファイルの説明が書いてある普通のテキスト部分です) [2. foo.tar.gz <application/octet-stream>]
添付されているファイル(ここでは foo.tar.gz
)を抽出したい場合には, カーソルを[2.
foo.tar.gz<application/octet-stream>]
の部分にあわせてeをタイプします.
Process tm-file finished
と表示されたら抽出成功です.
ファイルは/tmp
に抽出されます.
この例では抽出されたファイルは/tmp/foo.tar.gz
として保存されていますので,
すみやかに適当なディレクトリに移してください.
/tmp
はシステムやアプリケーションが作業用のテンポラリファイルをおくためのディレクトリですから,
ここにあるファイルはしばらくするとOSが自動的に削除してしまいます(とはいっても1週間くらいは残っていると思いますが).
MIMEマルチパートメッセージから添付ファイルを抽出する場合,nを押す (コントロールキーは押さずにnだけを押す)と次のパートに,
pを押すと前のパートにカーソルがジャンプすることを覚えておくと便利です.
先の例の場合,第1パートは説明文の部分で,第2パートは添付ファイルfoo.tar.gz
です.
いま,カーソルがメッセージの冒頭部分にあるとすると, ここでnをタイプすると第1パートに,さらにnを押すと第2パートにカーソルが移動します.
通常のバッファを操作する場合にはnとタイプすると, 当然カーソル位置にn
という文字が挿入されるわけですが,
cmail
でメールを読む場合,(自分がメールを書く場合を除いて)バッファは読み取り専用のはずで,
キーを押してもバッファが改変されないようになっているのが親切でしょう
(他人が送信してきたメールを改竄してローカルディスクに保管してもあまりうれしくないですから).
cmailでメールを読んでいるときにnを押すとカーソルが次のパートにジャンプするようになっているのは,
間違って受信メールを改竄してしまうのを防ぐ意味と,バッファ操作をより便利にする意味の2つがあるといえます.
もちろん,cmail
モードでも通常のバッファを操作するときのようにカーソルキーやC-n,
C-pなどでカーソルを移動させても全く問題ありませんが,
メジャーモード特有のキーバインドを利用した場合の方が圧倒的に高速に操作が可能です. しかし,emacs
のキーバインドはデフォルトのものだけでも相当な数があるわけで,
そのうえメジャーモードのキーバインドも覚えるなんてとうてい無理と思う人もいるでしょう.
そういう人は,まず,キーバインドの一覧を表示させる方法を覚えてみてはどうでしょうか.
現在操作中のバッファで使用できるキーバインドの一覧を見るには
M-x help-for-help bまたは[f1] bとしてdescribe-bindings
を呼び出します.
describe-bindings
で表示されるキーバインド一覧は, 冒頭部分のMajor Mode
Bindingsというセクションを参照することでそのモード特有の設定がわかるようになっています (どんどん下の方を見て行くとGlobal
Bindingsというセクションがありますが, ここはデフォルトのキーバインドがそのまま適用されている部分ですから,
とりあえずあまり参照する必要はありません). このキーバインド一覧は目的の機能を呼び出すためのキーがどれだったか忘れてしまったときなどに役立ちます.
例えばMIME形式でファイルを添付したいときなどには
C-x o(other-window
)で*Help*
バッファに移動しておいて,
C-s(iserch-forward
)でMIMEをキーワードに検索するというようにして
目的の機能とそのキーバインドを探すことができます.
Major Mode Bindings: key binding --- ------- TAB cmail-complete-address-or-tab menu-bar Prefix Command C-c Prefix Command ESC Prefix Command (中略) C-c C-x TAB mime-editor/insert-file (略)