電子メールとEmacs(2)

					2009年04月24日
情報科学類 コンピュータリテラシ

                                       筑波大学 システム情報工学研究科 
                                       コンピュータサイエンス専攻, 電子・情報工学系
                                       新城 靖
                                       <yas@is.tsukuba.ac.jp>

このページは、次の URL にあります。
http://www.coins.tsukuba.ac.jp/~yas/coins/literacy-2009/2009-04-24
あるいは、次のページから手繰っていくこともできます。
http://www.coins.tsukuba.ac.jp/~yas/
http://www.cs.tsukuba.ac.jp/~yas/

■連絡事項

  • The Unix Super Text 上巻「第24章 インターネット」、 「第25章 電子メール」参照。
  • 次回 4月28日火曜日 は、 講義室 3A308 に集合。
  • 手引き(教育用計算機システム使用の手引き)を持って来る。
  • The Unix Super Text の次の章を読んでくる。 下巻「第54章 画像処理」、「第49章 フォント」。
  • ■補足

    Emacs を実行した直後には、C-l (Control + L) を打ってみると良い。 すると、最初の最初の表示メッセージが消える。emacs filename で Emacs を引数付きで実行した時にも、そのファイルが表示される。

    次のような画面が表示されたら、それを編集してはならない。 それに書かれている注意事項に従うこと。

    ;; This buffer is for notes you don't want to save, and for Lisp evaluation.
    ;; If you want to create a file, visit that file with C-x C-f,
    ;; then enter the text in that file's own buffer.
    
    日本語訳:
    ;; このバッファは、保存する必要がない注意事項表示とLisp 評価のためのバッファです。
    ;; もしファイルを作成したいなら、C-x C-f を使ってファイルを開きなさい。
    ;; そして、ファイルのバッファへテキストを打ち込みなさい。
    
    不要な部分は、C-k (カーソル以降行末まで削除)で削除するとよい。

    ■電子メール

    電子メール は、電話や(普通の)手紙と同じように、個人と個人の間で情報を交換するた めの仕組み。

    電子メールを読み書きするプログラムは、 メール・リーダ(mail reader) または、 メーラ(mailer) という。 「リーダ(reader)」といっても、書くこともできる。

    種類

    ■電子メールで重要な考え方と操作

    電子メールを使う上で重要な考え方

    1. 電子メールの形式、ヘッダ、本文
    2. 電子メール・アドレス
    3. メール・ボックス(フォルダ)
    電子メールの基本的な操作
    1. メールを読む
    2. (新たに)メールを出す
    3. 受け取ったメールに返事を出す(reply)
    4. 受け取ったメールを削除する、整理する
    5. 環境を整える、カスタマイズする

    ◆電子メールの形式

    1通の電子メールは、次のような形式を持っているテキスト(文字データ)。

    From: Shiro Yagi <shiro@is.tsukuba.ac.jp>
    To: kuro@cc.tsukuba.ac.jp
    cc: shiro@is.tsukuba.ac.jp
    Subject: Visit my WWW page
    Date: Mon, 20 Jan 2009 23:42:25 +0900
    Message-Id: <200901231442.k0NEgPTw003900@maple.is.tsukuba.ac.jp>
    
    こんにちは。白やぎです。
    
    WWWページを作ったので見てください。URL は、
    	http://www.is.tsukuba.ac.jp/~shiro/
    です。
    
    ♪♪ 白やぎ
    ♪♪ http://www.is.tsukuba.ac.jp/~shiro/
    

    多くのメール・リーダでは、1通の電子メールのことを メッセージ(message) と呼んでいる。

    電子メールのテキストは、大きくヘッダと本文に分かれる。

    ヘッダ(header、頭)
    電子メールの先頭から最初の空行まで
    本文(body)
    空行以降
    重要なヘッダ From: には、差出人の、 To:Cc: には、受取人の電子メール・アドレスが置かれる。

    電子メール・アドレス(e-mail address) とは、電子メールを届ける時に配送プログラムが使う記号。

    現在よく使われている形式:

    user@domain
    @」より前の部分は、個人を特定するための情報。 「@」より後ろの部分は、 電子メールをどのコンピュータに届ければいいかを示している。 ドメイン形式のホスト名が使われる。

    To:: とCc:: は、受取人の電子メール・アドレスが置かれる。どち らにアドレスを書いても同じように届けらるが、To: は、本来の宛先を 書き、Cc: にはついでに連絡したい宛先を書く習慣になっている。Cc は、 Carbon Copy に由来する。

    Date: は、電子メールが出された日付と時刻。

    Subject: は、題名(題目、表題、件名)。

    「件名」という日本語は存在しなかった。

    電子メールの本文は、普通のテキストだが、1行の長さがだいたい漢字で30 文字〜35文字、英語のアルファベットで60文字〜70文字になるように、 折り返されている(改行が入っている)。このようにしておくと、引用という 機能を利用する時に便利。

    電子メールで 引用 とは、返事などを書いたときに何に対する返事か分かりやすいように他の人の 書いた電子メールの一部を自分の電子メールに含めること。

    本文の末尾には、 署名シグニチャ(signature) ) が現われることが多い(付けなくてよい)。

    署名とは、普通の手紙の末尾に署名をするのと同じように、末 尾に自分の名前や自分独自の記号を書く。署名は、簡潔で短いものが好まれて いる。1つの目安としては、「4行以内」。

    電子メールのメッセージの型式は、RFC822 (その改訂版のRFC2822) で定めら れている。

    ◆2種類のメール・ボックス

    電子メールは、「 メール・ボックス 」と呼ばれている ファイル に保存される。メール・ボックスは、プログラムによっては、 フォルダ(folder)トレイ(tray) と呼ばれることもある。 メール・ボックスには、次の2種類がある。

    配送プログラム用メール・ボックス
    電子メールを配送するプログラムが、イ ンターネットから受け取ったメールを個人ごとに分類して保存しておく場所。 メールドロップ(mail drop)ということもある。 多くのシステムでは、 /var/spool/mail/user/var/mail/userという名前のファイル。 (coins では、メールサーバ(mail.coins.tsukuba.ac.jp)の /var/spool/imap/user/user)
    ユーザ用メール・ボックス
    メール・リーダが電子メールを保存しておく場所。

    メール・リーダが表示するのは、多くの場合、後者のメール・ボックスである。 新しく届いたメールを読む時には、前者から後者へメールを移す必要がある 場合がある。 この作業を、 「 (電子メールを)取り込む(incorporate) 」とう。

    配送プログラム用メール・ボックスは、1つのサーバで1人で1つだけだが、 ユーザ用メール・ボックスは、必要に応じていくつか作ることができる。

    ◆SMTPによる電子メールの転送と発信

    電子メールを転送する時には、SMTP (Simple Mail Transfer Protocol)という という通信の仕組み(TCP/IP 上に定義された通信プロトコル、詳しくは、後日) が使われる。

    メール・リーダで電子メールを発信する時にも、SMTP という仕組みが使われることがある。

    ◆POPやIMAP4経由のメール・ボックスのアクセス

    電子メールをため込んでいるコンピュータ(サーバ)にあるメールを、手元の コンピュータにコピーするには、 POP (Post Office Protocol)や、 IMAP(Internet Message Access Protocol) という通信の仕組み(TCP/IP 上に定義された通信プロトコル、詳しくは、後日)を使うことがある。

    POP では、配送プログラム用メール・ボックスを読み書きする機能がある。 IMAP では、それに加えて、複数のユーザ用メール・ボックスを扱えるように なっている。

    図? SMTPによる発信、転送、POP3、IMAP4によるメール・ボックスのアクセス

    SMTPによるメールの送信・転送、POP、IMAPによるメール・ボックスのアクセス

    ◆メール・リーダの操作

    電子メールを出すには、基本的には、 電子メールの形式 で説明したようなテキストを作り、 電子メールを配送するプログラムに渡す。 本文は、自分の好みのテキスト・エディタ(テキストファイルを編集するプロ グラム)が使えることもある。

    電子メールで仕事をしていると、単にメールを出すだけではなく、受け取った 電子メールに対して返事を出すことが多い。そのため、メール・リー ダでは、返事を出す作業を簡単に行うことができるようになっている。返事 を出すことを リプライ するともいう。返事を出す時には、To: が自動的に作られるだけで なく、Subject: も同じもの、あるいは、にRe: が付い たものが自動的に付けられる。

    電子メールで返事を出す時には、相手のメールの内容を引用することがある。 この時、相手が書いた部分と自分が書いた部分を区別するために、相手 が書いた部分の行の先頭には、引用のための記号を付ける習慣がある。こ の記号には、「>」や 「>>」、 タブがよく使われる。

    受け取ったメールを、別の人に送ることを、 転送(forward) という。 多くのメール・リーダでは、手作業で転送できるようになっている。

    複数のメール・アドレスがある人は、あるアドレスに届いた「全て」のメールを、 別のメール・アドレスの所に自動的に転送できる場合がある。 については、

    メールの数が増えてきたら

    多くのメール・リーダは、長いアドレスや複数のアドレスを短い 別名(alias) で参照できるようになっている。 別名には、個人で付けるものの他に、システム全体で付けるものがある。

    ◆電子メールで名乗りと挨拶

    電子メールは、海外に出すこともあるので、From: は、英語にすることが多い。 日本語の名前をメールの先頭に書く習慣がある。
    From: Shiro Yagi <shiro@is.tsukuba.ac.jp>
    To: s09012345@coins.tsukuba.ac.jp
    Subject: Re: [coins-computer-literacy-a] Assignment-3, e-mail reply (2009012345)
    Date: Fri, 24 Apr 2009 16:15:25 +0900
    Message-Id: <200904251615.k0NEgPTw003900@azalea20.coins.tsukuba.ac.jp>
    
    コンピュータ・リテラシTAの○○さん
    
    こんにちは。コンピュータ・リテラシの授業を受けている白やぎです。
    4月24日に出された課題の電子メールを提出します。
    
    > この行と次の行だけを引用してください。返信には、このメールを
    > 書いた日付と時刻を入れてください。
    
    2009年4月24日 15:10です。
    
    よろしくお願いします。
    				白やぎ
    

    ■電子メールに関する知っておきたいこと

    ■Emacs(2)

    手引き 3章 参照The Unix Super Text 15.1 12章 参照前回も参照。

    ◆検索(サーチ)

    The Unix Super Text 12.4.6項 参照, 手引き 3.2.5項 参照

    Emacs の得意技。インクリメンタル・サーチ。 C-s, C-r の後、RET で通常の検索になる。

    ◆置換(replace)

    The Unix Super Text 12.4.7項 参照, 手引き 3.2.5項 参照

    M-x query-replace (M-%, Esc %) が便利。

    ◆補完

    The Unix Super Text 12.5.1項 参照, 手引き 3.2.6項 参照。 なるべく手で(キーボードで)打たないための方法 Emacs では、ファイル名の入力や関数名の入力、 バッファ名の入力などで補完が使える。

    ◆ファイルの挿入

    The Unix Super Text 表12-6 参照, 手引き 3.2.6項 参照C-x iを使うと、他のファイルをサーソルの位置に全て読み込むことができる。

    ◆折返し整列

    Emacs には、1行の長さをそろえる機能がある。たとえば、次のように乱れたものを
    M-q runs the command fill-paragraph 
    which is an interactive compiled
    Lisp
    function
    in `textmodes/fill'.
    It is bound to M-q.
    
    M-q または Esc q で、標準で 70 以内になるように次のように整える。
    M-q runs the command fill-paragraph which is an interactive compiled
    Lisp function in `textmodes/fill'.  It is bound to M-q.
    
    整える範囲は、上下に空行で区切られた範囲である。長過ぎる行は、改行が入 れられる。英単語の場合には、途中で改行することはない。日本語の場合には、 標準では、35文字で改行される。 文字数を変えたい場合には、set-fill-column を使う。
    C-u  C-x fdnl
    

    ■実習

    実習時間中には、以下の課題をできるだけ多く行いなさい。全部を行う必要はない。

    ★練習問題(501) Thunderbirdの設定

    Thunderbird で電子メールを 読み書きできるように設定しなさい。 YHMT_ebiki_Ref(5.2節)。

    Thunderbird の icon 実行するには、Dock 上のアイコンをシングルクリックする。

    POP ではなく、IMAP を使うことを勧める。

    図? Thunderbirdの設定画面。IMAP、SMTP、サーバ。

    図? Thunderbirdの設定画面。IMAP、SMTP、サーバ。(クリックで拡大)

    もし、Firefox で POP アカウントを使い続ける場合でも、「サーバに残す」という設 定にすると、他のメール・リーダで読める状態になる。そうでないと、「取り 込まれて」しまい、他のメール・リーダでは読めなくなる。

    1. 「ツール」メニューの「アカウント設定」を開く。
    2. 目的のアカウント名の下の「サーバ設定」の画面で、次の部分を調べる。
    注意:IMAP を利用する場合には、このような項目はない。

    図? Thunderbirdの設定画面。POPでサーバに残す。

    図? Thunderbirdの設定画面。POPでサーバに残す。IMAPの場合は不要。(クリックで拡大)

    電子メールは、(HTMLではなく)テキストで編集するには、次の設定を変更する。

    1. 「ツール」メニューの「アカウント設定」を開く。
    2. 目的のアカウントの下の「編集とアドレス入力」の画面で、次の部分を調べる。
      図? Thunderbirdの設定画面。
    Thunderbird は、「マスターパスワード」を設定すれば、パスワー ドを暗号化して保存する機能がある。「マスターパスワード」を設定せずに 「パスワードマネージャ」を使うと、暗号化されないパスワード(生のパスワー ド)がそのまま「ファイル」に保存されるので、危険である。 手引きの脚注に従って気軽に「パスワードマネージャ」の機能を使ってはならない。 YHMT_ebiki_Ref(5.2節 94ページ)。 どうしても「パスワードマネージャ」の機能を使いたい人は、 暗号化して保存することに関して理解し、 「マスターパスワード」を設定し、「メールパスワードの暗号化にマスターパスワードを使用する」のチェックを入れる。 もしも、暗号化せずにパスワードを保存してしまった時には、次の方法で削除すること。

    ★練習問題(502) Thunderbirdで新たにメールを出す

    Thunderbirdで新たに電子メールを出す練習をしなさい。

    ★練習問題(503) Thunderbirdでテキストの観察

    受信したメッセージを選択し、「表示」メニューから「メッセージのソース」 を使って、電子メールのテキストを表示しなさい。

    ★練習問題(504) Thunderbirdでメールに対して返信を行う(返事を出す、リプライする)

    自分自身で送信したメールや隣の人のメールに対して、 Thunderbird の返信機能を使って返事を出しなさい。

    ★練習問題(505) Thunderbirdでその他の操作

    Thunderbirdでメールを読む、新たに (新たに)メールを出す、 以外の次のような操作をしなさい。

    ★練習問題(506) SquirrelMail

    SquirrelMail でメールを読み書きしてみなさい。

    ★練習問題(507) MacOSX Mail.app

    MacOSX 付属の Mail.app を使ってメールを読み書きしてみなさい。 MacOSX Mail.app pop アカウントの設定 (クリックで拡大)

    ★練習問題(508) IMAP、メールボックスの共有

    複数のメール・リーダで IMAP によりメールが読めるように設定しなさい。そ して、複数のメール・リーダで同一のメールボックスが表示されることを確認 しなさい。

    ★練習問題(509) UCB Mail

    The Unix Super Text 15.2節 参照。 UCB Mail (mail コマンド) を使ってメールを送信しなさい。

    なお、coins の環境では、UCB Mail コマンドでメールを受信(受け取ったメー ルの表示)をすることはできない。

    ★練習問題(510) Emacs 復習

    次の機能を復習しなさい。
    キー 説明
    C-x C-s バッファを保存。
    C-x C-c Emacsを終了。
    C-x C-f ファイルを探して編集、または、新規作成。
    C-p カーソルを移動(previous)
    C-n カーソルを移動(next)
    C-f カーソルを移動(forward)
    C-b カーソルを移動(backward)
    Delete 左の文字の削除
    C-k カーソルの位置から行末まで削除。行末の場合は、改行の削除。
    C-g 何か困った時には、何度か打つ。
    C-_ または C-x u 取り消し(undo)
    C-SPC または C-@ 領域(region)の先頭を決める(マーク)
    C-w 領域をカット
    ESC w 領域をコピー
    C-y 領域をペースト

    ★練習問題(511) Emacs 検索機能

    The Unix Super Text 12.4.6項 参照, 手引き 3.2.5項 参照。 次の機能を確認しなさい。
    C-s
    インクリメンタル・サーチ(下向き)
    C-r
    インクリメンタル・サーチ(上向き)
    C-s RET
    サーチ(下向き)
    C-r RET
    サーチ(上向き)

    ★練習問題(512) Emacs 置換え機能

    The Unix Super Text 12.4.7項 参照, 手引き 3.2.5項 参照。 次の機能を確認しなさい。
    M-% あるいは Esc %
    query-replace。1つひとつ確認しながら置き換える。
    M-x replace-string
    カーソル以下を全ておきかえ。
    M-% の query-replace では、ミニバッファで次のように聞かれる。
    Query replace:
    置き換え前の文字列を打ち込みリターン
    Query replace aaa with:
    置き換え後の文字列を打ち込みリターン
    y (または SPC) (スペース・キー) で置き換え、n で次の候補に移動、! で、以降すべて置換、 q で終了。

    ★練習問題(513) Emacs ファイル名補完機能の確認

    The Unix Super Text 12.5.1項 参照, 手引き 3.2.6項 参照。 Emacs のファイル名補完機能を利用してみなさい。 ファイル名を打つ時に SPCTAB を打つ。

    ★練習問題(514) Emacs 関数名補完機能の確認

    The Unix Super Text 12.5.1項 参照, 手引き 3.2.6項 参照。 Emacs の関数名補完機能を利用してみなさい。 関数名を打つ時に SPCTAB を打つ。

    ★練習問題(515) Emacs ファイルの挿入

    The Unix Super Text 表12-6 参照, 手引き 3.2.6項 参照。 ファイルの挿入機能を確かめなさい。 注意: C-x iで、i は、C-i ではなく、ただの i である。

    ★練習問題(516) Emacs 折返し整列

    The Unix Super Text 表12-6 参照, 手引き 3.2.6項 参照

    M-q または Esc q で、折返し整列の機能を確認しなさい。

    パラグラフとしては、次のようなものを確かめなさい。 set-fill-column で、折り返す数を変更してからみなさい。

    ★練習問題(517) Mew/Emacs によるメールの読み書き

    手引き 3.4節 参照

    注意:この操作をすると、電子メールが Mew の メールボックスに「取り込まれる」ので、 他のメール・リーダでは読めなくなってしまう。

    Emacs 上で動作するメール・リーダ Mew を 使って、メールの読み書きを行ってみなさい。

    ★練習問題(518) MacOSX テキストエディット

    MacOSX に付属のテキストエディタ「テキストエディット.app(TextEdit.app)」 を使ってみなさい。

    「テキストエディット.app」は、プログラムは、「アプリケーション」の中に ある。アプリケーションは、Finder で Shift+Command+A と打つか、「移動」 メニューから「アプリケーション」を選ぶ。次のように端末からコマンドを打っ てもよい。

    % open /Applications/TextEdit.app [←]
    

    最初に実行した時には、ファイルの形式が RTF (Rich Text Format) になって いるかもしれない。RTF は、ワードプロセッサ間で文書を交換する時に用いる 形式である。レポートの提出で求められている「プレーンテキスト(plain text、単純に文字コードだけが並んでいるもの。タグやフォーマットの記述が 含まれていない。)」ではない。

    テキストエディットが標準で扱う形式が RTF になっていた場合、次のようにして、プレーンテキストを標準にする。

    Emacs で保存したファイルを「テキストエディット.app」で開くとどうなるか 調べなさい。逆に、「テキストエディット.app」で保存したファイルをEmacs で開くとどうなるか調べなさい。

    どの文字コードなら「テキストエディット.app」で開けるかしらべなさい。ま た、改行コードがどうなっているかを調べなさい。

    ★練習問題(519) MacOSX テキストエディットで扱えるエンコーディング

    「テキストエディット.app」は、様々な文字コード(エンコーディング)のテキ スト・ファイルを読み書きできるが、標準ではメニューに現れていないことが ある。次の方法でメニューに現れるものを増やしなさい。 「テキストエディット.app」を使って、テキスト・ファイルの文字コードを変換しなさい。 「テキストエディット.app」は、ファイルを開く時に文字コードの自動判定の機能が弱い。 その場合は、ファイルを開く時に明示的に選択する。

    ★練習問題(520) MacOSX テキストエディットでRTFとプレーンテキストの変換

    次の機能を確かめなさい。 リッチテキスト(RTF)で保存したファイルを catコマンド、lv コマンド、 Emacs 等で開いてみなさい。

    ■課題5 電子メールとEmacs

    レポート提出ページの指示に従い、Emacs でテキス ト・ファイルを作成しなさい。それを、そのページの指示に従い、提出しなさ い。以下の(1) では、Emacs の機能C-x i (insert-file) が便利であ る。行をきれいに折り返すには、Emacs の機能 M-q または Esc q (fill-paragraph) が便利である。

    (1) TA からのメールを読みなさい。それに対して、TA にメールの返事を出し なさい。次のような点に注意すること。

    名乗りと挨拶 を含めることを勧める。電子メー ルを受け取る人は、人間である。単に宿題を受け付けるための箱ではない。

    TAからの返事を、From:, Date:, Subject: が分かる形でファイルに保存しなさ い。それには、たとえば「ファイル」メニューから「別名で保存」を選択する 方法がある。それを、レポートに含めなさい。 レポートには、電子メールとしての形状を崩さない形で、かつ、不要な部分は 削除して読みやすい形にしなさい。過度の編集はさけること。たとえば、不要 部分の行単位の削除はよいが、内容の編集、行の結合、改行の挿入等は行って はならない。

    (2) このページの電子メールに関する説明、および、 電子メールに関する知っておきたいことを読み、 大事なことを10行-15行でまとめなさい。この時、Emacs の fill-paragraph (M-q, Esc q) の機能を使って、折返し整列えをしなさい。

    (3) まず次のテキストを、コピー&ペースト機能を使って、レポートのテキス トファイルをコピーしなさい。そして、Emacs の query-replace (M-%) の機能 を使って、"Emacs" という文字列を自分の学籍番号に変えなさい。

    ----------------------------------------------------------------------
    GNU Emacs is a version of Emacs, written by the author of the original
    (PDP-10) Emacs, Richard Stallman.  The primary documentation of GNU
    Emacs is in the GNU Emacs Manual, which you can read on line using
    Info, a subsystem of Emacs.  Please look there for complete and
    up-to-date documentation.  This man page is updated only when someone
    volunteers to do so; the Emacs maintainers' priority goal is to
    minimize the amount of time this man page takes away from other more
    useful projects.  The user functionality of GNU Emacs encompasses
    everything other Emacs editors do, and it is easily extensible since
    its editing commands are written in Lisp.
    ----------------------------------------------------------------------
    

    (4) まず次のテキストを、コピー&ペースト機能を使って、レポートのテキス トファイルをコピーしなさい。Emacs のカット&ペーストの機能を使って、次 の -f の説明と -l の説明の順番を行番号ごと入れ替えなさい。(1-2行と3-4行 を入れ替える。)

    ----------------------------------------------------------------------
    1:     -l file Load the lisp code in the file file.
    2: 
    3:     -f function
    4:             Execute the lisp function function.
    ----------------------------------------------------------------------
    
    (5) The Unix Super Text の次の部分を読みなさい。 そして、項目についてついて調べて、簡単に説明しなさい。

    (6) [加点] 3種類以上のメール・リーダを実行して、比較しなさい。それぞれ の特徴、利点、および、問題点を述べなさい。

    (7) [加点] Emacs のチュートリアルを「英語」で実施しなさい。開始時刻、お よび、終了時刻を以下に記入しなさい。 開始時刻: 終了時刻: 英単語とキーの対応や、機能とキーの割当の対称性について気がついた点を書 きなさい。


    Last updated: 2009/05/14 06:21:04
    Yasushi Shinjo / <yas@is.tsukuba.ac.jp>