• Japanese

MHで読んだメールから添付ファイルを切り出す方法

メールをワークステーションなどでMH(Emacsの中でmh-rmailで読んでいる場合も同様)でメールを読んでいて、メールの中にパソコンのアプリケーションなどの添付ファイルがあると、そのメールをFTPなどでパソコンに転送してもそのままでは添付ファイルを切り出すことができません。このページでは、MHで読んでしまったメールの中の添付ファイルをパソコンに転送して開く前に、ワークステーションで行っておく作業(metamailコマンド)について解説します。

  1. メールの確認

    初めに切り出す元メールを確認します。MHでは通常メールは番号で管理(数字のファイルになっている)されています。

    元のメールを読んでみて、そのメールが何番のファイルになっているかを憶えておきます。

    次に、MHを終了(Emacsの中でmh-rmailコマンドを利用している場合はEmacsも終了する)するか、X-ウィンドウを利用している場合は他のウィンドウで、lsコマンドを実行してメールの存在を確認して下さい。

    MHでは何も指定をしていない場合、メールは
    ~/Mail/inbox (~はホームディレクトリ(ログインした時に自分がいる場所))
    の中にあります。

    (例)

    loginname[siw51] ls Mail/inbox
    #1 #3 2
    loginname[siw51]
    
  2. 切り出し(metamail)コマンドの実行

    次にメールを切り出します。切り出しにはmetamailコマンドを使います。
    (例は「2」番のメールに含まれている添付ファイルを切り出そうとしています)

    (例)

    loginname[siw51] metamail Mail/inbox/2
    
  3. metamailコマンドの実際

    メールに添付ファイルが含まれていると、メールの本文が表示されたあとに次の例のようなメッセージが表示されます。
    (例では、メールの送信者が「文書1.doc」という名前のファイルを添付しています)

    (例)

    ----- メールの本文 -----
    (See attached file: 文書1.doc)
    Content-Description: Lotus Manuscript 1.0
    This message contains data in an unrecognized format, application/x-lotus-manuscript1,
    which can either be viewed as text or written to a file.
    What do you want to do with the application/x-lotus-manuscript1 data?
    1 -- See it as text
    2 -- Write it to a file
    3 -- Just skip it
    

    この添付ファイルをファイルに戻したい時には、2 (return)を入力します。すると以下の例のようにファイル名の指定を問われます。

    (例)

    What do you want to do with the application/x-lotus-manuscript1 data?
    1 -- See it as text
    2 -- Write it to a file
    3 -- Just skip it
    2
    Please enter the name of a file to which the data should be written
    (Default:=?iso-2022-jp?B?GyRCSC9JPSROO2QwRiFKOjRGIyFLGyhCLmRvYw==?=)>
    

    ここでファイル名を何も指定しないで(return)だけを入力すると、
    =?iso-2022-jp?B?GyRCSC9JPSROO2QwRiFKOjRGIyFLGyhCLmRvYw=
    というわけの判らないファイル名になってしまうので、英文字でファイル名を入力します。
    (ファイル名は何でも良いですが、拡張子(例では.doc)は元のままにしないと後で困ります)

    (例)

    (Default:=?iso-2022-jp?B?GyRCSC9JPSROO2QwRiFKOjRGIyFLGyhCLmRvYw==?=)> bunsho1.doc
    

    すると、

    (例)

    (Default:=?iso-2022-jp?B?GyRCSC9JPSROO2QwRiFKOjRGIyFLGyhCLmRvYw==?=)> bunsho1.doc
    Wrote file bunsho1.doc
    

    これで、元のメールから添付ファイルが「bunsho1.doc」という名前で切り出されました。

    一つのメールの中に複数の添付ファイルが有る場合は、そこまでのメールの本文が表示された後に、この項目3.の初めからの繰り返しになります。

  4. ファイルの確認

    metamailコマンドが終了するとプロンプトに戻るので、切り出したファイルが実際にあるかどうかを確認します。

    (例)

    loginname[siw51] ls -l bunsho1.doc
    -rw-r--r-- 1 loginname 23552 Aug 4 10:47 bunsho1.doc
    loginname[siw51]
    
  5. そのあと

    あとは、このファイルを開くことのできるパソコンへFTP などでファイル転送すれば開くことができます。

    切り出したファイルがどのアプリケーションのものなのかはファイルの拡張子で一応判りますが、メールの本文に記載されていなくてまたパソコンでも読めない場合はメールの送信者に確認してください。

    なお、添付ファイルを開くためにはそのファイルが作成されたものと同じソフトウェアがパソコンに必要です。

    metamailコマンドの詳しい使い方はmanコマンドで見ることができます。(英文)
    (例)

    loginname[siw51] man metamail
    

最終更新日: 2011年6月16日

内容はここまでです。