承上篇 SMTP/MX 記錄/郵件頭/別名檔概念,本文進入 Sendmail 實際安裝編譯與核心配置檔 sendmail.cf 詳細語法解析。
ftp://ftp.sendmail.org/pub/sendmail/ 或各大 Linux 發行套件內建。tar -xzf sendmail.8.9.3.tar.gzmake -f Makefile (產生 sendmail.cf)每行以指令字元開頭,空行忽略,行首空白視為上行續行。
| 字元 | 功能 | 語法/說明 |
|---|---|---|
# | 註解 | 整行忽略 |
D | 巨集定義 | DK 字串 定義巨集 K (單一大寫字母),避免重複輸入 |
C/F | 類別定義 | CK 類別名 或 FK 檔名 從檔案讀取類別值 (單一大寫字母) |
H | 郵件頭定義 | 通常無需修改預設值 |
O | 選項設定 | 指定操作選項、檔案路徑等,等同命令列參數 |
P | 優先權設定 | 如 Pspecial-delivery=100, Pfirst-class=0, Plist=-30, Pjunk=-100 |
V | 版本等級 | 指定 cf 檔版本特性,非 Sendmail 程式版本 |
K | 關鍵字資料庫 | 定義別名庫等位置/類型,支援 DBM/BTREE/HASH/NIS |
M | 郵件傳送器定義 | 每目標一傳送器,透過固定 SMTP 傳遞。範例:Mlocal, P=/bin/mail, F=lsDFMfSn, S=10, R=20, A=mail -d $uP=投遞程式路徑, F=旗標, S/R=改寫規則集, A=命令列參數 |
S/R | 規則集 | S 指定規則集編號,R 定義改寫規則。用於地址改寫、錯誤偵測、解析至內部傳送器 |
/var/log/maillog:日誌,除錯必備。/var/spool/mail/$USER:收件匣,每用戶一檔。/var/spool/mqueue:郵件佇列,mailq 查看待發信件。/etc/sendmail.cw:多別名主機名列表,寫入此檔所有別名皆可收信。