MAIL(1) | General Commands Manual | MAIL(1) |
NAME(名稱)
mail
—
傳送和接收郵件
SYNOPSIS(總覽)
mail
[-iInv
]
[-s
subject]
[-c
cc-addr]
[-b
bcc-addr]
to-addr... mail
[-iInNv
] -f
[name] mail
[-iInNv
] [-u
user]
INTRODUCTION(介紹)
Mail
是一個智慧化的郵件處理系統,它具有
ed(1)
的命令語法回憶功能,只是用訊息替換了行罷了.
-v
- 詳盡模式. 傳輸郵件的細節都呈現在使用者的終端上.
-i
- 忽略tty中斷訊號.
這對於在嘈雜的電話線路上使用
mail
特別有用. -I
- 強迫mail以互動模式執行,即使其不是透過終端輸入的.
特別地,正在傳送郵件時,
‘
~
’ 特殊字元只在互動模式下才起作用. -n
- 禁止在啟動時讀取 /etc/mail.rc
-N
- 當閱讀郵件或編輯郵件夾時禁止訊息頭的初始化顯示.
-s
- 在命令列上指定主題(僅把
-s
標識後的第一個引數用作主題;注意對包含空格的主題加上引號.) -c
- 傳送復件(carbon copy)給使用者 list
-b
- 傳送隱藏的複寫副本(blind carbon copy)給使用者 list. list應為以逗號分隔的名字列表.
-f
- 讀入你的 mbox
(或指定檔案)
中的內容進行處理;當你
quit 時,
mail
會把未刪除的訊息寫回該檔案. -u
- 相當於:
mail -f /var/spool/mail/user
Sending mail(傳送郵件)
要傳送一條訊息給一個或更多的人,
mail
可以以郵件將要傳送的人名作為引數進行呼叫.
然後要求你輸入你的訊息,並在每行的開頭跟著
一個 ‘control-D
’
下面的部分 Replying to or
originating mail, 描述了一些
mail
用於幫助你操作信件的功能.
Reading mail(閱讀郵件)
在一般的用法中
mail
不帶任何引數,並透過郵局(post
office)檢查你的郵件,然後對於每條找到的訊息打印出一個
行頭.當前的訊息初始為第一條訊息(序號1),而且可以使用
print
命令(可簡省為
‘
’)
列印. 你可以使用命令
‘p
’ 和
‘+
’
如在 ed(1)
的各行間移動一樣前後移動訊息,或者移動到一個簡單的序號.-
Disposing of mail(丟棄郵件).
在檢查了訊息之後,你可以
delete
‘
’)
這條訊息或者
d
reply
‘
’) 它.
刪除會導致 r
mail
程式遺忘該條訊息.
這並非不能撤銷;可以透過給定其序號來
undeleted
‘
’)
該條訊息,或者
透過指定 u
exit
‘
’)
命令來終止 x
mail
的會話.
不過,刪除了的訊息就會永遠消失不再出現.
Specifying messages(指定訊息)
命令如 print
和
delete
可以給定一組訊息的序號作為引數來一次性對這組訊息進行操作.
所以, “delete 1 2
”
會刪除訊息1和2,而
“delete 1-5
”
會刪除訊息1到5.
特殊名字
‘
’
表示所有訊息,而
‘*
’
表示最後一條訊息;因此用來列印一條訊息的首幾行的命令
$
top
可用在
“top *
”
中以列印所有訊息的首幾行.
Replying to or originating mail(回覆或傳送郵件).
你可以使用
reply
命令來回復一條訊息,將它傳送回訊息的傳送者.
你輸入的一直到文末的文字定義了該條訊息的內容.
當你正在操作一條訊息時,
mail
處理以字元
‘
’
開頭的行會有些特殊.
例如,輸入
‘~
’
(這一行就這麼一句)會放置一個當前訊息的複製到回覆中,其可以透過tabstop右移位(參見下
面的
indentprefix
變數).
其它擴充套件符可用來設定主題欄位,新增和刪除訊息的收件人,並且允許你返回編輯器來修改消
息,或者用shell執行某些命令.
(這些選項都在下面的summary中給定.)~m
Ending a mail processing session(終止郵件處理會話).
你可以使用
quit
‘
’)
命令來終止 q
mail
會話.
檢查了的郵件會轉到你的
mbox
檔案,除非它們因為刪除而被丟棄了.
未檢查的郵件則返回到郵局.
(參見上面的 -f
選項).
Personal and systemwide distribution lists(個人和系統的傳送列表).
可以建立個人的傳送列表,這樣,例如你傳送郵件到
“cohorts
”
時,即可傳送它給一組人.
這樣的列表可以透過在你home目錄下的檔案
.mailrc
中放置如下一行:
alias cohorts bill ozalp jkf mark
kridle@ucbcory
來實現.
這類別名的當前列表可以使用
mail
中的 alias
命令來顯示.
系統級的傳送列表可以透過編輯
/etc/aliases
來建立,參看
aliases(5) 和
sendmail(8);
這些具有不同的語法.
在你傳送的郵件中,私有別名會在傳送給其他人的郵件中展開,這樣他們就能夠
reply
給收件人.
系統級的 aliases
在郵件傳送時不會展開,但是當所有郵件透過
sendmail
時,任何返回機器的回覆信都會展開系統級別名.
Network mail(網路郵件)(ARPA,UUCP,Berknet)
參見 mailaddr(7) 以獲知關於網路地址的描述.
Mail
可以在
.mailrc
檔案中設定一些選項以改變其操作;因而
“set askcc
” 會啟用
askcc 功能.
(這些選項都總結在下面.)
SUMMARY(總結)
(改編自`Mail Reference Manual')
每條命令單獨佔一行,而且可能帶有引數跟在命令字後.
命令不需要完全輸入 -
使用第一個匹配輸入字首的命令.
對於那些以訊息列表作為引數的命令,如果沒有給定訊息列表,那麼使用滿足命令要求的下一
條訊息.
如果當前訊息之後沒有任何訊息,那麼搜尋繼續向前進行.如果根本沒有合適的訊息,
mail
輸出
“applicable messages” 並且
終止該命令.
-
- 打印出接下來的訊息. 如果給定一個序號 n 作為引數,那麼會轉到 n'th 前面的訊息並列印它.
?
- 列印命令概要.
!
- 執行後面跟著的shell命令 (參看 sh(1) 和 csh(1))
Print
- (
P
) 如同print
一樣,不過它還會打印出忽略的訊息頭欄位. 另見print
,ignore
以及retain
. Reply
- (
R
) 回覆信件給傳送者. 不回覆給傳送來的郵件中的其它收件人. Type
- (
T
) 與Print
命令一致. alias
- (
a
) 不帶引數,打印出所有當前定義的別名.. 帶一個引數,列印該別名. 帶多於一個的引數,則建立一個新的別名或對老的進行修改, alternates
- (
alt
) 如果你在數臺機器上有賬號.alternates
命令很有用.它可以用來通知mail
列出的地址實際都是你的. 當你回覆
訊息時,mail
就不會發送訊息的複製到任何列在alternates
列表中的地址. 如果alternates
命令未給定引數,那麼顯示當前alternate的名字. chdir
- (
c
) 如果指定了的話,修改使用者的工作目錄為指定的目錄. 如果沒有指定目錄,那麼修改為使用者的登入目錄. copy
- (
co
)copy
命令與save
一樣,唯一的例外是當你退出時,它不會標明刪除了的訊息. delete
- (
d
) 以訊息列表作為引數,並且標明它們全部被刪除. 刪除了的訊息不會儲存在 mbox 中, 也不會對大多數其它命令可用. dp
- (也作
dt
) 刪除當前訊息並列印下一條訊息. 如果沒有下一條訊息,mail
輸出 “at EOF
”. edit
- (
e
) 讀取一組訊息,並把文字編輯器按序指向每條訊息. 在從編輯器返回時,訊息會再讀回. exit
- (
ex
或者x
) 不修改使用者的系統郵箱,他的 mbox 檔案,或者在-f
中的編輯檔案而立即返回到shell. file
- (
fi
) 與folder
相同. folders
- 列出在你的郵件夾目錄中的郵件夾名.
folder
- (
fo
)folder
命令用來轉到一個新的郵件檔案或資料夾. 不帶引數時,它會告知你當前在閱讀的檔案. 如果你給定了一個引數,它會在當前檔案中寫完你剛作的修改(例如刪除)並讀入新的檔案. 對名字有一些特別的約定. #表示前一個檔案, %表示你的系統郵箱, %user表示user的系統郵箱, &表示你的 mbox 檔案,而 +folder表示在你的folder目錄中的一個檔案. from
- (
f
) 讀取一組訊息並打印出其訊息頭. headers
- (
h
) 顯示訊息頭的當前範圍,這是一個18-訊息組. 如果 給定了一個 ‘+
’ 引數,那麼會列印下一個18-訊息組,而如果給定了一個 ‘-
’ 引數,那麼會列印前一個18-訊息組. help
- 與
?
同義. hold
- (
ho
, 也作preserve
) 讀取一個訊息列表,並標記其中的每條訊息儲存到使用者的系統郵箱中,而非 mbox 中. 這不會覆蓋delete
命令. ignore
- 新增一列訊息頭欄位到
ignored list 中.
當你列印一條訊息時,在ignore
list中的訊息頭欄位不會在你的終端上打印出來.
這條命令對於抑制特定的機器生成的訊息頭欄位很方便.
Type
和Print
命令可以用來完整地列印一條訊息,包括忽略的欄位. 如果ignore
不帶任何引數執行,它會列出當前設定的忽略的欄位. mail
- (
m
) 以登入名和傳送組名作為引數併發送郵件給這些人. mbox
- 標明當你退出時,訊息列表會發送到你的home目錄下的
mbox
中. 如果你 沒有 設定hold
選項,這就是訊息預設的操作行為. next
- (
n
) 類似+
或 CR) 轉到按序的下一條訊息並輸出它. 如果帶了引數列表,則輸出下一個匹配的訊息. preserve
- (
pre
) 與hold
同義. print
- (
p
) 讀取訊息列表,並在使用者終端上輸出每條訊息. quit
- (
q
) 終止會話,儲存所有未刪除而且未儲存的訊息到使用者的登入目錄下的 mbox 檔案中,並保留所有使用hold
或者preserve
標記或者從未關聯的訊息到他的系統郵箱中,另外從他的系統郵箱中刪除所有其它訊息. 如果新的郵件在這次會話中到達,會給出 “You have new mail
” 訊息. 如果在編輯郵箱檔案時指定了-f
標識,那麼編輯的檔案會重寫. 返回到Shell會受影響,除非編輯檔案的重寫失敗,在這種情況下,使用者可以使用exit
命令退出. reply
- (
r
) 讀取訊息列表併發送郵件給傳送者和指定訊息的所有收件人. 預設訊息不能夠刪除. respond
- 與
reply
同義. retain
- 新增訊息頭欄位列表到
retained list 中.
只有在retain
list中的訊息頭欄位才會在你列印一條訊息時顯示在你的終端上.
所有其它訊息頭欄位都抑制了.
Type
和Print
命令可以用來完整地列印一條訊息. 如果retain
不帶任何引數執行,它會列出保留欄位(retained field)的當前設定. save
- (
s
) 讀取一個訊息列表和一個檔名,並按序新增每條訊息到該檔案末尾. 檔名應以加引號,後面跟著回應到使用者終端上的行數和字元數. set
- (
se
) 如果不帶任何引數,列印所有變數值. 否則,設定選項. 引數為以下格式: option=value (在=前後都沒有空格)或者 option. 引號標記可能需要放到賦值語句的任何部分以括起空格或者退格符,也即 “set indentprefix="->"
” saveignore
Saveignore
用來save
ignore
的內容並print
和type
. 這樣標記的訊息頭欄位當透過save
儲存訊息或者當自動儲存到 mbox 中時會過濾掉.saveretain
Saveretain
用來save
retain
中的內容,並print
和type
. 這樣標記的訊息頭欄位當透過save
儲存訊息或者當自動儲存到 mbox 中時會過濾掉.Saveretain
覆蓋saveignore
.shell
- (
sh
) 呼叫shell的互動式版本. size
- 讀取一組訊息並打印出每條訊息按字元的大小.
source
source
命令從一個檔案讀取命令.top
- 讀取一組訊息並列印每條訊息的頭幾行.
列印的行數透過變數
toplines
控制,預設為5行. type
- (
t
) 與print
同義. unalias
- 讀取一列由
alias
命令定義的名字並丟棄已有的使用者組. 組名將不再有任何作用. undelete
- (
u
) 讀取一列訊息並標記每條訊息為未
刪除. unread
- (
U
) 讀取一列訊息並標記每條訊息為尚未
閱讀. unset
- 讀取一列選項名並丟棄他們已有的值;
這是
set
的反向操作. visual
- (
v
) 讀取一列訊息並對每條訊息呼叫顯示的編輯器. write
- (
w
) 與save
相似,不同之處在於只儲存
訊息體而 (不儲存) 訊息頭). 這對於透過訊息系統傳送和接收源程式文字的情況有很大的用處. xit
- (
x
) 與exit
同義. z
Mail
表示當訊息頭的視窗滿了時,如在headers
命令中描述的那樣顯示. 你可以使用z
命令移動mail
's 通告到下一個視窗. 同樣,你也可以透過使用z-
移動到前一個視窗.
Tilde/Escapes(代字元/擴充套件符)
以下是對tilde
escapes的歸納,這用於操作訊息以執行特殊的功能.
Tilde escapes只在行首被承認.
名字
“tilde escape”
可能有些用詞不當,因為實際的escape字元可透過選項
escape
設定.
~!
command- 執行指定的shell命令,然後返回訊息.
~b
name ...- 新增給定名字到複製(carbon copy)的收件人列表中,但是不在Cc:行中顯示出來("blind" ca rbon copy).
~c
name ...- 新增給定名字到複製(carbon copy)的收件人列表中.
~d
- 從你的home目錄中讀取檔案 “dead.letter” 到訊息中.
~e
- 對當前收集的訊息呼叫文字編輯器. 在編輯完成之後,你可以繼續在訊息中新增文字.
~f
messages- 讀取命名的messages到將要傳送的訊息中.
如果沒有指定messages,那麼就讀取當前訊息.
當前被忽略(透過
ignore
或者retain
命令)的訊息頭不包括在內. ~F
messages- 類似於
~f,
不過這包括了所有的訊息頭. ~h
- 透過逐一輸入的方式編輯訊息頭欄位,並且允許使用者新增文字到訊息的末尾或者透過使用當前 終端的消除和抹掉字元來修改欄位.
~m
messages- 讀取命名的messages到將要傳送的訊息中,以tab或者
indentprefix 的值交錯.
如果沒有指定messages,則讀取當前訊息.
當前被忽略(透過
ignore
或者retain
命令)的訊息頭不包括在內. ~M
messages- 類似於
~m,
不過這包括了所有的訊息頭. ~p
- 打印出當前收集的訊息,以訊息頭欄位開始.
~q
- 放棄傳送訊息,如果設定了
save
, 則複製訊息到你home目錄下的 “dead.letter” 中. ~r
filename- 讀取指定的file到訊息中.
~s
string- 使得指定的string成為當前的主題欄位.
~t
name ...- 新增給定的name到直接的收件人列表中.
~v
- 對當前收集的訊息呼叫後備的編輯器(由
VISUAL
選項定義). 通常,備用的編輯器是螢幕編輯器. 你退出編輯器後,你可以繼續在訊息的末尾新增文字. ~w
command- 使訊息透過command的過濾.
如果command沒有輸出或者反常地終止,則會保留訊息的原始文字.
命令 fmt(1)
經常用作
command
來重新驗證訊息. - ~:mail-command
- 執行給定的mail command. 但是,不是所有命令都允許的.
~
string- 插入文字string到訊息中,前面以單個的~開頭. 如果你已經修改了escape字元,那麼你應該重複這個字元以傳送它.
Mail Options(郵件選項)
選項透過 set
和 unset
命令控制.
選項可以是二進位制的,在這種情況下,只對它們是否設定了有意義;或者是字串,這種情況下
的實際值才有意義.
二進位制選項包括以下一些:
- append
- 使得儲存在 mbox 中的訊息新增到末尾而不是加到前面. 這通常是應該設定的(也許在 /etc/mail.rc 中)
- ask, asksub
- 使得
mail
提示你輸入傳送的每條訊息的主題. 如果你用一個簡單的換行符應答,則傳送無主題的欄位. - askcc
- 提示你輸入附加的複寫(carbon copy)的收件人在每條訊息之後. 以換行符回應表示你滿意當前的列表.
- askbcc
- 提示你輸入附加的隱藏的複寫(blind carbon copy)的收件人在每條訊息之後. 以換行符回應表示你滿意當前的列表.
- autoprint
- 使得
delete
命令如dp
一樣. - 這樣,在刪除一條訊息之後,下一條訊息會自動輸出. - debug
- 設定二進位制選項
debug
與命令列上指定
-d
一樣,這會使得mail
輸出各種有用的資訊來除錯mail
. - dot
- 二進位制選項 dot
使得
mail
解釋一行只有單一的句點為你傳送訊息的結束. - hold
- 該選項用來儲存訊息在預設的系統郵箱中.
- ignore
- 使得忽略來自終端的中斷訊號,並且以@'s響應.
- ignoreeof
- 一個與 dot
相關的選項就是
ignoreeof, 它使得
mail
拒絕接受control-d為訊息的結束. Ignoreeof 同樣也適用於mail
命令模式. - metoo
- 通常,當包括髮送者的一組展開時,傳送者會在展開中刪除. 設定該選項會使得傳送者包括在組中.
- noheader
- 設定選項 noheader
與在命令列中指定
-N
標識一樣. - nosave
- 正常情況下,當你使用
RUBOUT (erase或者delete)
中止一條訊息時,
mail
會複製部分信件到你home目錄下的檔案 “dead.letter” 中. 設定二進位制選項 nosave 可以阻止這麼做. - Replyall
- 顛倒
reply
和Reply
命令的含義. - quiet
- 當第一次呼叫時,禁止列印版本.
- searchheaders
- 如果設定了這個選項,那麼在格式``/x:y''中的訊息列表區分標誌會對所有在頭欄位``x''中 包含子字串``y''的訊息展開.字串查詢是區分大小寫的.
- verbose
- 設定選項 verbose
與在字元行下使用
-v
標識一樣. 當郵件執行在verbose模式時, 實際傳遞的訊息會顯示在使用者的終端上.
Option String Values(選項字串值)
EDITOR
- 在
edit
命令和~e
擴充套件符中使用的文字編輯器的路徑名. 如果沒有定義,那麼使用預設的編輯器. LISTER
- 在
folders
命令中使用的目錄瀏覽器的路徑名. 預設為 /bin/ls. PAGER
- 在
more
命令或者當設定了crt
變數時使用的程式的路徑名. 如果該選項沒有定義,預設使用 more(1). SHELL
- 在
!
命令和~!
擴充套件符中使用的shell的路徑名. 如果未定義該選項,則使用預設的shell. VISUAL
- 在
visual
命令和~v
擴充套件符中使用的文字編輯器的路徑名. - crt
- 賦值的選項 crt
用作限額以決定一條訊息在使用
PAGER
閱讀它之前有多長. 如果 crt 沒有賦值,那麼儲存在系統中的終端顯示高度用來確定限額(參見 stty(1)). - escape
- 如果定義了,那麼該選項的第一個字元給出擴充套件符中替換~的字元.
- folder
- 儲存訊息的資料夾的目錄名.
如果該名字以`/'開頭,
mail
會把它當作絕對路徑名;否則,檔案目錄相對於你的home目錄查詢. MBOX
- mbox 檔案的名字.
它可以為一個資料夾名.
預設為在使用者home目錄下的
“
mbox
”. - record
- 如果定義了,指定用來存檔所有外發郵件的檔案的路徑名. 如果沒有定義,那麼外發郵件將不被儲存.
- indentprefix
- 在``~m'' tilde escape中用作交錯訊息的字串,替換一般情況下的tab字元(^I). 如果其中包含了空格或者tab,確信對值加了引號.
- toplines
- 如果定義了,指定使用
top
命令列印的訊息的行數;一般情況下,列印前5行.
ENVIRONMENT(環境變數)
Mail
使用了
HOME
和 USER
環境變數.
FILES(相關檔案)
- /var/spool/mail/*
- 郵局.
- ~/mbox
- 使用者的老郵件.
- ~/.mailrc
- 給定初始郵件命令的檔案.
- /tmp/R*
- 臨時檔案.
- /usr/lib/mail.*help
- 幫助檔案.
- /etc/mail.rc
- 系統初始化檔案.
SEE ALSO(另見)
fmt(1), newaliases(1), vacation(1), aliases(5), mailaddr(7), sendmail(8) 和 The Mail Reference Manual..
HISTORY(歷史)
mail
命令出現在 Version 6
AT&T UNIX 中. 該man頁源自
The Mail Reference Manual
原作者為Kurt Shoens.
BUGS
有一些標識沒有列在文件中. 大多數對一般使用者都是沒有用處的.
[中文版維護人]
riser <boomer@ccidnet.com>
[中文版最新更新]
2001/08/08
《中國linux論壇man手冊頁翻譯計劃》:
跋
本頁面中文版由中文
man 手冊頁計劃提供。
中文 man
手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
1993年12月30日 | BSD 4 |