一、概念

電子郵件是網路所帶來的極便利的功能之一,它可以為網路上任何兩 個位置上的雙方在極短的時間內傳遞私人信件,省時又省事。而在開始使 用電子郵件之前,我們首先要對郵件傳遞時所依據的地址,即「電子郵件 地址」、 E-Mail address ,的格式做一了解,電子郵件地址的一般格式 大致上是:

[帳號名稱]@[工作站DOMAIN NAME]

如 jlin@net.nthu.edu.tw

其中, jlin 是使用者的帳號名稱、net.nthu.edu.tw 則是工作站在 domain NAME SERVER上所登錄的 DOMAIN NAME,再細分來看,net 是機器 名稱、 nthu 是指清華大學、edu 是指學術網路、 tw 則是指台灣,而且 在正常情況下,每一個電子郵件的地址應該都是獨一無二的。

在了解了電子郵件地址的一般格式後,一般使用者較關心的該是: 有沒有任何工具可讓使用者可以很輕易地做發信、看信、整理信件... 等動作﹖答案當然是有的,而且種類還不少,比如在 UNIX 系統上較早期 的 mailx,及現在用得較多的 pine 、elm 等,還有近來在IBM PC的WINDOWS 系統下 及麥金塔PC上、使用者也不少的EUDORA、NETSCAPE附帶的Mail功能... 等都是, 而以下我們將先針對校內用的 極為普遍的elm 加以介紹

一、ELM的基本操作

elm指令的所在位置置為: /usr/local/bin/elm 如果您在簽入帳號時沒有做任何環境的更動,那麼您只要在提示符 號後直接鍵入elm,如:

thccy11> elm (按)

即可看到如下畫面:



                Mailbox is '/usr/spool/mail/jlin' with 3 messages [ELM 2.4 PL23]


             1   Sep 18 Mail Delivery Subs (36)   Returned mail: User unknown
        ->N  2   Sep 18 Jenny              (15)   a test
          O  3   Sep 13 Jenny Lin          (17)   Meeting!









                |=pipe, !=shell, ?=help, =set current to n, /=search pattern
         a)lias, C)opy, c)hange folder, d)elete, e)dit, f)orward, g)roup reply, m)ail,
           n)ext, o)ptions, p)rint, q)uit, r)eply, s)ave, t)ag, u)ndelete, or e(x)it

        Command:

                    elm常用指令表列
                        ────
                阿拉伯數字   選定信件
                      閱讀選定的信件內容
                a            別名(alias)的產生與刪除
                c            更換信箱位置到其他檔案來
                d            將不需要的信件刪除
                f            將信箱內的信件轉寄給別人
                m            寄信
                o            設定elm的使用環境
                q            離開elm
                r            針對選定的信件回信
                s            將信件存到檔案來中(folder)
                u            取消原來要刪除信件的動作

各指令的詳細用法為:

1. 寄信(m)

如果您有一現成的檔案要寄,可在提示符號後直接下:

                thccy11> elm -s "信件主題" 收信人地址 < 檔案名
                如  elm -s "Meeting!" jlin@cc.nthu.edu.tw < notice.txt
否則也可在elm的command:狀態下鍵入m,接著回答以下問題:

Send the message to: (輸入收信人的地址)
Subject of message: (輸入信件的主題)
Copies To: (這封信還要拷貝寄給那些人,可以是多個電子 郵件地址,地址間以","隔開)

接下來即出現信件編輯畫面(內定的編輯器是vi),在編輯完畢存 檔後,畫面上會有如下詢問:

    Please choose one of the following options by parenthesized letter: s
                 e)dit message, edit h)eaders, s)end it, or f)orget it.

選擇s)end it選項或直接按[enter]即可將信件寄出。 (編輯器的選擇請參考第二單元、各編輯器的用法請參見附錄)

2. 看信

在進入elm之後,將可看到信箱內的所有信件,這些信件 會依序被編號、並列出寄信人及信件的主題,只要使用游標鍵 或數字鍵選定想閱讀的信件,按[enter]即可閱讀信件內容。

可注意的是:在信件的編號的前面,有時候會有個英文字 母,如

                          N    表示信件是剛收到、尚未閱讀的信
                          O    上次進elm時已收到、尚未閱讀的信
                          U    緊急信件
                          D    即將被刪除的信件
若信件的編號前面是空白,表示是已閱讀過的信件。

3. 回信(r)

針對選定的信件回信,將被詢問:

Copy message: (n/y)? (是不是要將來信內容加入回信中)
Subject of message: (輸入信件的主題)
Copies To: (這封信還要拷貝寄給那些人,可以是多個電子 郵件地址,地址間以","隔開)

進入編輯畫面之後的操作即與寄信時相同,這個指令的好處則 是省略了輸入對方地址的動作。

4. 轉信(f)

可將信箱內的信件拷貝一份、轉送給其他人,當被詢問

Edit outgoing message: (y/n)?
(是否修改信件內容) 若不修改,則將整封信原封不動送到指定的地址′若要修改, 則進入編輯畫面。

5. 存信(s)

信箱內的信件通常是按收件日期的先後排列,當累積的信 件多了就會顯得雜亂,所以我們常需要將信件分門別類、存放 到檔案夾中(Folder,實際上就是一個檔案):

當您選定一封信、按s(save),就會被詢問

            Save message to: =jlin

此時您可按[enter]接受elm所給定的folder名稱,或是自己重 新再輸入另一個folder名稱,但注意名稱之前需有一'=',如 =meeting,而meeting這個檔案的存放位置則是在 $HOME/Mail中。

6. 印信

因計算機中心的工作站均未連接印表機,所以無法用elm 的p(print)功能,如果需要印信,需先將信件存到一檔案夾中 (如前所述)、再以FTP將檔案傳送到PC上,以PC的印表機列印。 至於FTP傳送檔案的方式,依下列步驟進行:

a. cd Mail(將目錄更換到Mail目錄下)
b. [alt]-t或[alt]-f啟動內鍵式FTP(password為[alt]-w)
c. ftp> put [檔名]
d. ftp> bye (離開FTP)

7. 中文文件的寄送與閱讀

中文信件與英文信件傳遞的唯一不同處在於中文信件為 8-BIT的資料,在資料傳輸過程中會有資料失真的情況。所以 當要寄送的資料是屬於此類資料時,我們便需以uuencode指令 先將檔案轉換成7-BIT的資料,如

            thccy11> uuencode [原始檔] [標籤檔] > [目的檔]
            如    uuencode notice.doc notice.8 > notice.7

依此例,如果我們想把notice.doc寄到美國,經此uuencode的 動作後,我們需將notice.7寄出,而對方在收到信、存檔後, 需把信件的Heading刪除、做uudecode的動作,如:

uudecode [folder名稱] 而經uudecode所產生的檔案名稱即是notice.8。

8. 改變所在的folder(c)

將所在的位置由信箱(Incoming Box)移到其他檔案夾中, 將被詢問:

                Change to which folder?
此時可輸入?查看Mail目錄下有那些folder、直接輸入一檔案夾 名稱(以=為開頭),如果現在的位置是在某一個檔案夾中,則可 以輸入!回到帳號的信箱中。

9. 離開(q)

當按q離開elm時,可能會出現如下詢問訊息:

            Delete message? (y/n)
信箱內有將被刪除的信件,此時再做一次確認,若回答y, 信件即被刪除;回答n則仍繼續保留。

            Keep unread message in incoming mailbox? (y/n)
詢問是否將未閱讀過的信件保留在信箱內。

            Move read message to "received" folder? (y/n)
詢問是否將已讀過的信件移到received這個folder中,如 果是,則下次進elm將看不到這些信,必須更換到 received這個folder中才能找到這些信。

10. 別名(alias)的建立(a)

當同一訊息要一次送給許多人時,除了在Copies to:的方 式外(參閱1.),還可以為特定的族群建立成一alias,就可以 一次寄信給這個特定族群。 elm建立alias的方式因所使用版本之不同而有不同,但有 一個較一致的方式:

1. 在.elm目錄下編輯檔案aliases.text,格式為:

                ALIAS = REMARK = ADDRESS LISTING
                如
                ccc = ccc gruop = htwang@cc,yuluh@cc,lylee@cc
b. 存檔後再執行.elm目錄下執行newalias指令。

若無錯誤,則以後mail給ccc即是mail給htwang等三人。

二、ELM環境之設定

在elm的command:狀態下,按o即可進入環境設定畫面:


                            -- ELM Options Editor --

C)alendar file       : /Oz/u/ccsc/jlin/calendar
D)isplay mail using  : /usr/ucb/more
E)ditor (primary)    : /usr/local/bin/joe
F)older directory    : /Oz/u/ccsc/jlin/Mail
S)orting criteria    : Reverse-Sent
O)utbound mail saved : =sent
P)rint mail using    : /bin/cat %s | /bin/lp
Y)our full name      : Jenny Lin
V)isual Editor (~v)  : /usr/ucb/vi

A)rrow cursor        : ON
M)enu display        : ON

U)ser level          : Beginning User
N)ames only          : ON


     Select letter of option line, '>' to save, or 'i' to return to index.

Command:

        Mailbox is '/usr/spool/mail/jlin' with 3 messages [ELM 2.4 PL23]


->   1   Sep 18 Mail Delivery Subs (35)   Returned mail: User unknown
  N  2   Sep 18 Jenny              (14)   a test
  O  3   Sep 13 Jenny Lin          (17)   Meeting!









   You can use any of the following commands by pressing the first character;
 d)elete or u)ndelete mail,  m)ail a message,  r)eply or f)orward mail,  q)uit
    To read a message, press .  j = move down, k = move up, ? = help

Command:


                             -- ELM Options Editor --

C)alendar file       : /Oz/u/ccsc/jlin/calendar
D)isplay mail using  : /usr/ucb/more
E)ditor (primary)    : /usr/local/bin/joe
F)older directory    : /Oz/u/ccsc/jlin/Mail
S)orting criteria    : Reverse-Sent
O)utbound mail saved : =sent
P)rint mail using    : /bin/cat %s | /bin/lp
Y)our full name      : Jenny) lin
V)isual Editor (~v)  : /usr/ucb/vi

A)rrow cursor        : ON
M)enu display        : ON

U)ser level          : Expert User
N)ames only          : ON


     Select letter of option line, '>' to save, or 'i' to return to index.

Command:
在此畫面下,使用者可按每一設定項目中")"前的英文字母選擇要更 動該項設定,如要更動C)alendar file的設定內容,則按c。而這些 設定中,一般使用者較可能更改的設定有:

1. E)ditor (primary) : /usr/ucb/vi

更改寄信、回信時所設定使用的編輯軟體,內定是vi,如要更 動,請直接輸入新的編輯軟體的路徑及名稱,如
/usr/local/bin/joe 然後按[enter]。

2. F)older directory : /Oz/u/ccsc/jlin/Mail

更改存放信件的檔案夾的存放目錄,內定是個人帳號內的 Mail目錄,如要修改也請直接輸入新的路徑。

3. S)orting criteria : Reverse-Sent

這個設定決定信箱內信件的排列次序,Reverse-Sent乃是 依送信時間的先後排列,越晚送的排在越前面,如果要更改這 種排列方式,請按[space]切換成其他的排列方式,如

Reversed message sender、Reversed message subject..等。

4. Y)our full name : Jenny Lin

這是使用者的全名,需要在UNIX的提示符號下用chfn指令 更改,如果只是在這個地方更改全名,在您寄信時這個新的全 名將不會發生作用;此外,還必須注意的是:在全名中要避免 使用"("、")"等字元,否則對方在回信時會因全名的格式錯 誤而造成無法以r指令回信的情況(如全名為"Jenny) Lin"時)。

5. A)rrow cursor : OFF

被選定的信件的編號之前是不是要顯示一箭頭(->), 內定為OFF。
6. M)enu display : ON

在信箱中,是否要顯示功能提示表單,如果不顯示,可使 每一頁列出的信件數目變多,而且就沒有必要更動下一個 U)ser level的設定。
7. U)ser level : Beginning User

可用[space]鍵切換,共有BEGINNING、INTERMEDIATE、 EXPERT三種等級,其中EXPERT所顯示的功能提示表單最為詳細。

當設定已完全符合你的需求時,你必須按>儲存這些設定,再 按i離開環境設定畫面。

另外,我們也可以利用自己熟悉的編輯器,編輯個人帳號中、 .elm目錄下的elmrc檔案,也可以宜接修改elm的使用環境。

三、一些特殊檔案的使用

1. .forward

這個檔案的內容以行為單位,每一行都是一個address, 如:
jlin@Oz.nthu.edu.tw
如果一個帳號的home directory內存在著這個檔案,則當這個 帳號有信進來,就會被轉送到檔案所列的地址,而不會留在這 個帳號的信箱內。

2. 簽名檔的使用

要使用簽名檔必須先在.elm/elmrc中先做好設定: localsignature =
remotesignature =

一般常用的簽名檔檔名為~/.Sig或~/.signature,無論用什麼 檔名,檔案的內容將會被附加在每一封寄出的訊息之後,而 local與remote的區別則在於前者附加於要寄到local機器上的 訊息之後(地址沒有@符號,如jlin),remote則附加在往外寄送 的信件之後(如jlin@cc)。

四、被退件,怎麼辦﹖

1. User Unknown

這種狀況發生的原因常是寄信人打錯地址、或是收信端的 機器上根本沒有這個帳號(如已被刪除),收到這種退件時唯一 的解決方式是查明地址後再寄。

2. Service Unavailable

在從A機器把一封信寄到B機器上的某一帳號的過程中,依A機 器的管理者設定之不同,可能會將訊息由A直接送到B、也可能中 間會經過一部或數部機器的轉送,若在這整個過程中有任何一 部機器關機或不提供服務,可能就會退回此種訊息。
當這種狀況發生時,可以:

a. 用ping指令看看A機器是否還活著(alive)。
b. 如果是,可用自己指定轉信的機器的方式將信寄出,地址的 寫法如:

                   jlin%cc.nthu.edu.tw@princeton.edu
意即指定經由princeton.edu將信寄給cc.nthu.edu.tw上的 jlin。

3. 對方可收到我的信,我收不到對方的信

這種情況應類似上述情況,而雙方管理者所各自設定的路徑 不同,而其中一部所設定的路徑上的工作站恰好有問題,應請對 方重新檢查所設定的路徑上的工作站是否都OK,而暫時解決之方 式則是如2所述的,請對方自己指定可可靠的轉接站。

五、附錄:一些編輯器的基本用法

1. vi
~
~
~     a 或 i    附加或插入資料,進入編輯畫面
~
~     [enter]     換行
~
~     [ESC]        回到命令狀態
~
~     :wq         存檔並離開
~
~     注意須在命令狀態才能移動游標
~
~     :r      讀進一已存在的檔案
~
~
~
~
~
~
~
~
~
"/tmp/snd.28073" 0 lines, 0 characters

2. jove [enter] 換行 F2([CTRL]-x s) 存檔 F4([CTRL]-x [CTRL]-c) 離開 F10([CTRL]-x [CTRL]-h) 線上求助畫面
   JOVE (Text)   Buffer: snd.28073  "/tmp/snd.28073" - (16:31)
"/tmp/snd.28073" 0 lines, 0 characters.


         3. joe

    IW  /tmp/snd.28073                Row 1    Col 1    4:28  Ctrl-K H for help



      [CTRL]-k  [CTRL]-h      線上輔助畫面

      [enter]      換行

      [CTRL]-k  r             插入一已存在的檔案

      [CTRL]-k  [CTRL]-x      存檔並離開