• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 關于sendmail.cf的簡單解釋

    發表于:2007-07-02來源:作者:點擊數: 標簽:
    以下信息主要摘自杜毅編著的《 UNIX 系統組網技術》,由電子工業出版社出版。這本書主要針對SCO Unix ,不過對于Unix世界的初學者它值得一讀,既然引用了人家的東西就要為它做的廣告:-) 但愿沒人找我麻煩。 在整理的過程中,我發現書上所寫與TurboLinux帶的se

      以下信息主要摘自杜毅編著的《UNIX系統組網技術》,由電子工業出版社出版。這本書主要針對SCO Unix,不過對于Unix世界的初學者它值得一讀,既然引用了人家的東西就要為它做的廣告:-) 但愿沒人找我麻煩。
    在整理的過程中,我發現書上所寫與TurboLinux帶的sendmail略有不同和缺漏,未經作者同意自行加上,文字也不是完全照搬。
    sendmail.cf的詳細信息,請自己去/usr/doc/sendmail/下找op.ps,其中第5章把下列內容講得很詳細。

    關于sendmail.cf的簡單解釋:
    配置文件sendmail.cf中的信息仍舊是以行為單位。如果行首的第一個字符為“#”,則表示該行為注釋,如果第一個字符為空格則表示該行為上一行的延續。此外,行首的第一個字符均為命令,但是命令同變量或值之間沒有間隔。這種格式便于sendmail進行分析,但令我們很難閱讀。下面我們將介紹sendmail.cf配置文件中的命令:

    1 D,定義宏
    命令D定義宏并為其賦值。當宏被定義之后,它就負責提供提供其存儲的值給sendmail.cf文件中其他的命令使用或者直接提供給sendmail使用。宏的名字可以是任何單字符,小寫的用于sendmail內部宏,用戶創建的宏只能使用大寫字母作為名字。一些sendmail的內部宏也在sendmail.cf文件里定義。例如下面兩行定義了宏D和內部宏n:DDcs.mit.edu
    DnMAILER-DEAMON則宏D的值為cs.mit.edu,宏n的值為MAILER-DEAMON.要使用宏的值時,必須在宏的名字前面加上符號"$",以這種形式來引用它的值。例如:
    #my official host name
    Dj$w.$D
    如果宏w的值為主機名moon,此時宏j的值就為moon.cs.mit.edu,這便是本主機的全稱名(FQDN).

    2 C與F,定義類
    命令C與F都是用來定義sendmail的類。所謂類,實際上就是由處理方式相同的多個變量組成的數組。與宏一樣,類也使用單字符名字,大小寫規則也一樣。類可以定義在一行之中,也可以分多行定義,例如,下面的示范為內部類w賦值為系統的主機名,而系統可以有多個名字:
    Cwmoon sun
    Cwearth
    Cwlocalhost
    命令F是從文件中獲取類的值,例如,可以把moon,sun,earth保存在sendmail.cw之中,然后用F命令便可以實現同上述命令完全相同的結果:
    Fw/etc/sendmail.cw對類的引用與宏的引用完全一樣,事實上宏就是一種類。兩者的唯一區別在于,宏只能有一個唯一的值,而類可以有多個值,當然也可以只有一個值。

    3 O,設置選項
    命令O是為sendmail的選項賦值,賦給選項的值可以是字符串、整數或布爾值,所有的選項值都是直接由sendmail來使用。需要注意的是,這里所說的選項與sendmail使用的命令行參數不一樣。通常情況下,不需要修改這些選項。

    4 T,定義可信任的用戶
    命令T用來定義一組用戶列表,這組用戶可以使用sendmail帶-f參數來修改用戶發出的郵件地址。一般情況下,包含root,daemon和uucp。管理員最好不要隨意添加其他的用戶,否則這種權限在某些用戶手中可能會對系統安全構成威脅??尚湃蔚挠脩艨梢栽谝恍谢蚨嘈兄卸x,但是被定義的用戶必須是/etc/passwd中的合法用戶。缺省是:
    Troot
    Tdaemon
    Tuucp

    5 P,設置優先級
    sendmail使用命令P定義不同的優先級來處理進入出局緩沖區的電子郵件。命令P定義的值越高,則優先級也越高,缺省的優先級為0。負優先級的電子郵件是不產生錯誤信息的,因此在批量發送郵件是應該定義較底的優先級。常用的優先級為:
    Pfirst-class=0
    Pspecial-delivery=100
    Plist=30
    Pbulk=-60
    Pjunk=-100
    如果用戶在發送郵件是需要指定優先級,則需要在郵件的首部中添加Precedence,例如:
    Precedence:bulk

    6 K,Key File Declaration
    特殊的映射可以定義成:
    Kmapname mapclass arguments
    mapname是可重寫規則中使用這個映射的句柄,mapclass是映射類型的名字,arguments的解釋依賴與映射類型,通常是包含映射的文件名。

    7 V,Configuration Version Level
    提供與老版本配置文件的兼容性能。

    8 M,定義郵件傳輸程序
    命令M定義郵件傳輸程序(mailer)的規格/詳細參數,其形式如下:
    Mname, {field=value} sendmail并不是直接發送各種各樣的電子郵件,它首先將要發送的郵件分類,然后交給相應的mailer來發送,它本身只發送基于SMTP/TCP/IP的郵件。其中[IPC]表示使用sendmail通過smtp來傳送郵件。關于IPC mailer,在sendmail的文檔里有一段有趣的特殊解釋:當規則集0解析到IPC mailer時會處理一些特殊的過程。比如直接用IP地址發送郵件可以用[128.32.149.78]的形式,若用[ucbvax.berkeley.edu]將會怎么樣呢?它會被作為字符串傳遞,用這樣的方法用戶可以構造一個特殊的郵件地址,使自己的郵件按指定的路線發送,而通常用戶是不關心也不知道自己的郵件的發送路線的。

    9 H,定義郵件的首部格式
    命令H定義sendmail插進電子郵件首部的行的格式。

    10 R,定義重寫規則
    重寫規則是sendmail配置文件的核心內容,每一重寫規則由命令R定義,其形式如下:
    Rpattern transformation comment
    命令R中的字段由制表符進行分隔,系統處理時忽略注釋字段(comment),模式字段(pattern)
    與改寫字段(transformation)為該命令的核心。
    重寫規則將輸入地址與模式進行匹配,如果匹配,則將該地址用規則中改寫字段的規則重寫為新的格式。每一規則可以多次處理同一地址,這是因為地址在重寫之后,仍要再次同該模式進行匹配,如果仍舊匹配則再次改寫,直到不再匹配為止(使用"$:"可以避免無限循環)。
    在Linux中格式的表達應該是:
    Rlhs rhs comment
    lhs--left hand side rhs--right hand side

    11 S,設置重寫規則集
    規則集是一組可以用數字來引用的相關重寫規則。命令S是規則集的開始并賦予它一個數字以便由郵件傳輸程序來調用。規則集可以被看作用來處理電子郵件地址的子程序或函數。具有特殊功能并可由sendmail直接調用的規則集有5個
    規則集3:為最大最復雜的規則集,也是用于地址的第一個規則集。它將地址轉化為正規形式如:。
    規則集0:應用于傳輸郵件的地址。必須在規則集3之后使用,并僅用于實際郵件傳輸中接收者的地址。它可以將地址解析成(mailer,host,user)的形式,由郵件傳輸者、接收方主機和接收用戶的名字組成。
    規則集1:應用于消息中所有發送者地址。
    規則集2:應用于消息中所有接收者地址。
    規則集4:應用于消息中所有地址并將內部地址格式轉化為外部地址格式。
    下圖說明了消息和地址通過這些規則集的流程(原書有誤):

    +---+
    -->+ 0 +---> resolved address
    / +---+
    /
    / +---+ +---+
    / -->+ 1 +-->+ S +---
    / / +---+ +---+
    +---+ / +---+ / +---+
    addr --->+ 3 +---->+ D +--- --->| 4 +---> msg
    +---+ +---+ / +---+
    +---+ +---+ /
    -->+ 2 +-->+ R +---
    +---+ +---+
    圖中,D--sender domain addition
    S--mailer-specific sender rewriting
    R--mailer-specific recipient rewriting

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>