用途
為本地或網絡交付傳送郵件。
語法sendmail [ -ba | -bd | -bD | -bh | -bH | -bi | -bm | -bp | -bs | -bv | -bt [ -CFile ] [ -dValue ] ] [ -BType ] [ -FFullName ] [ -fName ] [ -hNumber ] [ -i ] [ -Mx Value] [ -n ] [ -N Dsn ] [ -OOption=Value ] [ -o Option [ Value ] ] [ -pProtocol ] [ -q [ Time] ] [ -qISubstr ] [ -qRSubstr ] [ -qSSubstr ] [ -R Return ] [ -r addr ] [ -t ] [ -U ] [ -V Envid ] ] [ -v ] [ -X LogFile ] Address
注: "bold">-bd、 -bi、 "bold">-bp、-bt、 "bold">-q [ "italic">Time ] 標志 和 "italic">Address 參數是可選的。描述 注:在 sendmail V8.7
(AIX 4.2 及以后的版本)中,名稱解析順序是
DNS、NIS,然后是本地。如果您想覆蓋它,則指定 "bold">/etc/netsvc.conf 文件或 NSORDER 環境變量。
sendmail 命令接收格式化文本消息并把它們發送到一個或更多的用戶。在網絡上使用時,sendmail命令轉換消息的頭信息格式以匹配目的系統的要求。程序使用地址的語法和內容來確定目的系統的網絡。
sendmail 命令可以把消息傳送到:
本地系統用戶
使用 TCP/IP 協議連接到本地系統的用戶。
使用基本網絡實用程序(BNU)命令協議連接到本地系統的用戶。
sendmail命令并不是用來作為一個用戶界面例程;其它的命令提供用戶友好的界面。使用sendmail 命令只是用來傳送預格式化的消息。
sendmail 命令從標準輸入中讀取消息文本。當讀到消息字符的結尾(文件結束符(Ctrl-D)控制序列或者一行中的單一句點)時,sendmail 命令將把消息副本發送到所列的全部地址。
使用配置文件sendmail 命令使用配置文件(缺省情況下為 /etc/mail/sendmail.cf 文件)設置可操作的參數并且確定命令如何分析地址。此文件是文本文件,您可以用其它的文本編輯器對它進行編輯。修改sendmail.cf 以后, 請刷新 sendmail 守護進程。
sendmail命令的當前進程標識存儲在 /etc/mail/sendmail.pid 文件中。如下發出 kill -15 命令,使 sendmail 命令重新讀取新編輯的 sendmail.cf:
kill -15 `head -1 /etc/mail/sendmail.pid`如果 srcmstr 命令正在運行,則您可以發出如下的 refresh 命令來重新構建配置數據庫、別名數據庫和 NLS 數據庫。
refresh-s sendmailsendmail 命令重新讀取這些數據庫并且繼續操作新數據。
定義別名當 sendmail 命令處理本地郵件時,sendmail 命令允許您定義使用的別名。別名是備用名稱,您可用它來代替詳細的網絡地址。您也可以使用別名構建分發列表。
在 /etc/mail/aliases 文件中定義別名。此文件是可以編輯的文本文件。sendmail 命令使用此文件的數據庫版本。必須在 /etc/mail/aliases 文件的任和更改生效之前,運行 sendmail -bi命令或 newaliases 命令來構建新的別名數據庫。
現在,在 AIX 5.1 for Sendmail 8.11.0 上可使用 Berkeley DB。Sendmail 將繼續讀取 DBM 格式的別名直到別名數據庫獲得重建。一旦重建,sendmail 將讀取 Berkeley DB 格式的別名并把它們存儲在 /etc/mail/aliases.db 文件中。
"bold">注:當在 "bold">/etc/mail/aliases 文件中定義別名時,對嵌套的別名只能用小寫字符。別名右手邊的大寫字符在存儲到別名數據庫之前轉換為小寫字母。在以下示例中,由于存儲第二行時TEST 轉換成 test,因此發送到 testalias 的郵件失敗。TEST: user@machine
testalias: TEST
每個系統必須有一個被指定為 postmaster 別名的用戶或用戶別名。postmaster 別名的缺省值是一個 root 文件。在 /etc/mail/aliases 文件中您可以將此別名指定給不同的用戶。postmaster 別名允許您系統以外的其它用戶把郵件發送到一個已知的標識并獲取有關郵寄到您系統上的用戶的信息。您系統上的用戶也可以把問題通知發送到 postmaster 標識。
標志-BType | 將正文主體類型設置為 type。當前合法值是 7BI 或 8BITMIME。 注: "bold">-b 標志是相互排斥的。 | |
-ba | 以 ARPANET 方式啟動 sendmail 命令。命令的所有輸入行必須以回車符和換行符(CR-LF)結束。sendmail 命令生成以 CR-LF 結尾的消息,并查看 From: 與Sender: 字段來查找發件人的名字。 | |
-bd | 啟動 sendmail 命令使其像“簡單郵件傳輸協議”(SMTP)郵件路由器一樣作為守護進程在后臺運行。 | |
-bD | 啟動 sendmail 命令使其像“簡單郵件傳輸協議”(SMTP)郵件路由器一樣作為守護進程在前臺運行。 | |
-bh | 打印持久主機狀態數據庫。 | |
-bH | 清除持久主機狀態數據庫。 | |
-bi | 根據 /etc/mail/aliases 文件中定義的信息構建別名數據庫。用此標志運行 sendmail 命令和運行 /usr/sbin/newaliases 命令一樣。 | |
-bm | 以普通方式傳送郵件。(這是缺省值。) | |
-bp | 打印郵件隊列列表。用此標志運行 sendmail 命令和運行 /usr/sbin/mailq 命令一樣。 | |
-bs | 使用如 RFC821 中描述的簡單郵件傳輸協議(SMTP)收集來自標準輸入的郵件。此標志也包含所有與 SMTP 兼容的 -ba 標志的操作。 | |
-bt | 以地址測試方式啟動 sendmail 命令。此方式允許您輸入交互式地址并在 sendmail 命令顯示其分析地址所采取的步驟時進行監視。在測試方式提示符下,輸入一個規則集或用逗號分割的多個規則集并輸入地址。使用此方式來調試新配置文件中的地址分析規則。 | |
-bv | 用驗證此命令 Address 參數字段所提供的用戶標識符的請求來啟動 sendmail 命令。sendmail 命令返回一條消息作為響應,告訴哪些標識可由郵件程序解析。它并不嘗試收集或傳送消息。使用此模式驗證用戶標識、別名或郵遞列表的格式。 | |
-CFile | 用 File 變量指定的備用配置文件啟動 sendmail 命令。在安裝用作運行的配置文件的新配置文件之前,和 -bt 一起使用此標識來測試該文件。 | |
-dValue | 將調試值設置為 Value 變量所指定的值。唯一的有效值是 21.n,其中 n 是任意非零整數。它產生關于地址分析的信息并且通常和 -bt 標志一起使用。n 的更高值生成更多的詳細信息。 | |
-FFullName | 將發件人的全名設置為 FullName 變量所提供的字符串。 | |
-fName | 設置發件人的名字(郵件的信包發件人)。如果在初始提交過程中 From: 頭丟失,則在該頭中仍可以使用這個地址。信包發件人的地址用作傳送狀態通知的接收方,也可以出現在 Return-path: 頭中。只有可信的用戶(一般是 root 用戶、守護進程以及 uucp)或者如果您試圖成為的那個人就是您本人的話才能使用此標志。否則,X-Authentication-Warning 頭將添加到消息中。 | |
-hNumber | 將跳計數設置為 Number 變量所指定的值。跳計數是 SMTP 路由器(不僅僅是 sendmail 命令的本地副本)所處理消息的次數。每次消息處理后,郵件路由器就增加跳計數。當它到達限制時,就會返回一條錯誤消息以在防止郵件系統中的無限循環。 | |
-i | 忽略進入消息的行中單獨的點。如果您正在從文件讀取數據的話,必須設置它。 | |
-L | 將系統日志消息中使用的標識設置為供給的標記。 | |
-Mx Value | 將宏 x 設置為指定的 Value。 | |
-N Dsn | 將傳送狀態通知條件設置為 DSN。傳送狀態通知條件可以是:never 表示沒有通知或者用逗號分隔的值的列表,failure 表示發送失敗的通知,delay 表示發送延遲的通知,以及 success 表示消息成功發送的通知。 | |
-n | 阻止 sendmail 命令解釋別名。 | |
-O Option=Value | 將 Option 設置為指定的 Value。使用長格式選項名稱。此標志僅應用于 AIX 4.2 或者以后的版本。 | |
-oOption [ Value ] |
設置 Option 變量。如果選項是一個有值的選項,您也必須為 Value 變量指定一個值。 注:對于有效值,請查看 "italic">《AIX 5L V5.2 系統管理指南:通信與網絡》中的『sendmail.cf 文件中 sendmail 的命令選項』。 |
|
-pProtocol | 設置發送協議。建議您設置此項。您可以以 Protocol:Host 格式設置發送協議和發送主機來設置 Protocol。例如,-pUUCP:uunet 將發送協議設置為 UUCP 并將發送主機設置為 uunet。一些現有的程序使用 -oM 標志設置 r 和 s 宏,它和使用 -p 標志是等效的。此標志僅適用于 4.2 版本或以后的版本。 | |
-qISubstr | 將進程作業限制為那些包含作為隊列標識的 Substr。 | |
-qRSubstr | 將進程作業限制為那些包含作為收件人之一的子串的 Substr。 | |
-qSSubstr | 將進程作業限制為那些包含作為發件人的子串的 Substr。 | |
-q [ Time ] | 在 Time 變量指定的間隔中處理隊列中保存的消息。如果沒有指定 Time 變量,則該標志立即處理隊列。 | |
-R Return | 設置如果消息彈回要返回的消息的量。Return 參數可以為 full 以表示返回整個信息或者為 hdrs 以表示僅能返回頭部分。 | |
-r addr | -f 的廢棄格式。 | |
-t | 把消息發送到消息頭的 To:、Cc: 以及 Bcc: 字段中指定的收件人,也可以發送到命令行中指定的任何用戶。 | |
-U | 設置初始(用戶)提交。當被諸如 Mail 或 exmh 用戶代理調用時,應當設置此項,但是當被諸如 rmail 網絡傳送代理調用時切勿設置此項。 | |
-V Envid | 設置原始信包標識。它可以通過 SMTP 傳播到支持 DSN 的服務器上,并且以 DSN 兼容的錯誤消息返回。 | |
-v | 以詳細的方式啟動 sendmail 命令。sendmail 命令顯示有關傳送狀態和別名擴展的消息。 | |
-X LogFile | 為了調試郵件程序問題,記錄 LogFile 中 sendmail 的所有進出流量。由于它迅速地產生大量的數據,因此盡可能不使用此標志。此標志僅適用于 4.2 版本或以后的版本。 |
您也可以設置或除去 sendmail 配置處理選項。負責郵件系統的人使用這些選項。為設置這些選項,在命令行中使用 -o 標志或者使用配置文件(/etc/mail/sendmail.cf)中的 O 控制行。
安全性審計事件:
事件 | 信息 |
SENDMAIL_Config | 配置事件 |
SENDMAIL_ToFile | 創建文件事件 |
sendmail 命令返回退出狀態值。這些返回值在 /usr/include/sysexits.h 文件中定義。下列表總結了這些返回值的含義:
EX_CANTCREAT | sendmail 命令不能創建用戶指定的文件。 |
EX_CONFIG | 在配置文件的格式中發現到錯誤。 |
EX_DATAERR | 某種方式下輸入的數據不正確。 |
EX_IOERR | 在 I/O 過程中產生錯誤。 |
EX_NOHOST | sendmail 命令無法識別指定的主機名。 |
EX_NOINPUT | 輸入文件(非系統文件)不存在或者不可讀。 |
EX_NOPERM | 用戶沒有執行所請求的操作的許可權。 |
EX_NOUSER | sendmail 命令無法識別指定的用戶標識。 |
EX_OK | sendmail 命令成功完成。 |
EX_OSERR | 出現一個臨時操作系統錯誤。這種錯誤的一個示例是創建一個新的進程失敗。 |
EX_OSFILE | 出現系統文件錯誤。例如,系統文件(例如 /etc/passwd)不存在、無法打開或者有另一種類型的錯誤阻止使用它。 |
EX_PROTOCOL | 在協議交換過程中,遠程系統返回一些不正確的東西。 |
EX_SOFTWARE | 出現一個內部軟件錯誤(包含壞的參數)。 |
EX_TEMPFAIL | sendmail 命令無法創建與遠程系統的連接。稍后重新嘗試請求。 |
EX_UNAVAILABLE | sendmail 命令所需的服務或資源不可用。 |
EX_USAGE | 命令語法不正確。 |
/usr/sbin/sendmail | 包含 sendmail 命令。 |
/usr/sbin/mailq | 包含郵件隊列。 |
/usr/sbin/newaliases | 包含別名數據庫。 |
/usr/sbin/mailstats | 包含在 /usr/lib/sendmail.st 文件中查找到的統計信息。 |
/etc/mail/aliases | 包含 sendmail 命令別名的文字版。 |
/etc/mail/aliases.db | 包含 Berkeley DB 格式化的別名數據庫。 |
/etc/mail/aliases.dir | 包含 DBM 格式化的別名數據庫。 |
/etc/mail/aliases.pag | 包含 DBM 格式化的別名數據庫。 |
/etc/mail/sendmail.cf | 包含 sendmail 配置文件的文字版。 |
/etc/sendmail.st | 包含郵件路由的統計信息。 |
/usr/lib/smdemon.cleanu | 維護在 /var/spool/mqueue 目錄下查找到的日志文件的老化副本。 |
/var/spool/mqueue | 包含與郵件隊列中的消息相關的臨時文件和日志文件。 |
/usr/bin/uux | 包含用于傳送“基本聯網實用程序”(BNU)的郵件程序命令。 |
/usr/bin/bellmail |
包含用于傳送本地郵件的郵件程序命令。 |