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 處理以字符
‘
~
’
開頭的行會有些特殊.
例如,輸入
‘
~m
’
(這一行就這麼一句)會放置一個當前消息的拷貝到回復中,其可以通過tabstop右移位(參見下
面的
indentprefix 變量).
其它擴展符可用來設置主題字段,添加和刪除消息的收件人,並且允許你返回編輯器來修改消
息,或者用shell執行某些命令.
(這些選項都在下面的summary中給定.)
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命令,然後返回消息.
- ~bname
...
- 添加給定名字到複製(carbon
copy)的收件人列表中,但是不在Cc:行中顯示出來("blind"
ca rbon copy).
- ~cname
...
- 添加給定名字到複製(carbon
copy)的收件人列表中.
- ~d
- 從你的home目錄中讀取檔案
“dead.letter”
到消息中.
- ~e
- 對當前收集的消息調用文字編輯器.
在編輯完成之後,你可以繼續在消息中添加文本.
- ~fmessages
- 讀取命名的messages到將要發送的消息中.
如果沒有指定messages,那麼就讀取當前消息.
當前被忽略(通過
ignore 或者 retain
命令)的消息頭不包括在內.
- ~Fmessages
- 類似於 ~f,
不過這包括了所有的消息頭.
- ~h
- 通過逐一輸入的方式編輯消息頭字段,並且允許使用者添加文本到消息的末尾或者通過使用當前
終端的消除和抹掉字符來修改字段.
- ~mmessages
- 讀取命名的messages到將要發送的消息中,以tab或者
indentprefix 的值交錯.
如果沒有指定messages,則讀取當前消息.
當前被忽略(通過
ignore 或者 retain
命令)的消息頭不包括在內.
- ~Mmessages
- 類似於 ~m,
不過這包括了所有的消息頭.
- ~p
- 列印出當前收集的消息,以消息頭字段開始.
- ~q
- 放棄發送消息,如果設置了
save,
則複製消息到你home目錄下的
“dead.letter” 中.
- ~rfilename
- 讀取指定的file到消息中.
- ~sstring
- 使得指定的string成為當前的主題字段.
- ~tname
...
- 添加給定的name到直接的收件人列表中.
- ~v
- 對當前收集的消息調用後備的編輯器(由
VISUAL
選項定義).
通常,備用的編輯器是螢幕編輯器.
你退出編輯器後,你可以繼續在消息的末尾添加文本.
- ~wcommand
- 使消息通過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手冊頁翻譯計劃》:¶
http://cmpp.linuxforum.net