亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rfc3028.txt

?? 本程序為在linux下實現FTP傳輸文件的實現
?? TXT
?? 第 1 頁 / 共 4 頁
字號:
                   header :contains "from" "fool@example.edu") {
                discard;
             }

2.6.  參數
大多數命令都需要參數指明要執行的操作,參數分為三類:位置參數,標志參數和可選
參數。
2.6.1. 位置參數
位置參數的含義依賴于給出的順序,因此使用位置參數必須按照的規定的順序給出。
2.6.2. 標志參數
本文檔規定的標志參數以類似于Common LISP的風格給出,大多數命令行系統也采用
相似的方式給命令傳遞標志。標志參數以冒號“:”開始,后面跟著參數的標識名,比如
“:contains”。標志參數的意思是后面的各個記號(可能沒有)根據前面的標識名可能有特
殊的含義。標志參數后面的記號可以是數字或者字符串,但不能是塊。標志參數與位置參數
很相似,只不過其含義取決于標志而不是命令本身。標志參數必須出現在位置參數之前,但
是不同的標志參數的順序可以是任意的。為了簡化規范,在命令的語法定義中并沒有作此規
定,但是只要保證出現在位置參數之前,標志參數的位置可以互相交換。標志參數和可選參
數可以混合使用。為了簡化,標志參數不能再使用標志參數作為參數。
2.6.3. 可選參數
可選參數與標志參數非常相似,只不過調用命令時可以不提供可選參數而采用某個缺省
值。由于可選參數能夠有效地簡化描述程序,因此比標志參數用的更廣泛。特別一提的是
“:comparator”參數,這個參數用于指定字符串比較所使用的[ACAP]比較運算子,因為UTF-8
定義的某些語言可能采用的不同的字符序。
2.6.4. 參數類型
簡單地講,參數可以是文字數據、測試或者命令塊。從這意義上說,“if”控制結構只
不過是以測試和命令塊作為參數而且能夠執行那個代碼塊的一個命令。但是這種籠統的提法
從解析的觀點來看可能會產生混亂,第9.2節對此給出了更明確的定義:參數是字符串列表、
數字和標志,后面可以帶有測試或測試列表,還可以帶有命令塊。但是測試或者測試列表以
及命令塊不能超過一個,以命令塊結束的命令后面不能有分號。
2.7.  字符串的比較
字符串的匹配方式有多種,可以分為三種類型:完全匹配、子串匹配或通配符塊方式的
匹配,分別描述如下。為了實現不同字符集和大小寫字符之間的匹配,濾網語言借用了ACAP
的比較運算子注冊。但是對于表示信息頭名稱的字符串之間的比較不能使用用戶指定的運算
子。信息頭的比較總是使用“i;ascii-casemap”運算子,就是說這種比較是大小寫敏感的,
因為IMAIL消息規范是如此規定的。
2.7.1. 匹配類型
本規范使用了三種匹配類型:“:is”、“:contains”和“:matches”,可以作為標志參數傳
遞給適當的命令。“:contains”類型描述的是子串匹配,只要后面的值參數中包含鍵參數,
匹配的結果即為真。比如,字符串“frobnitzm”包含“frob”和“nit”,但是不含“fbm”,
空鍵值(“”)是任何串值的子串。“:is”類型描述的是完全匹配,只有第一個字符串的內容
與第二個字符串的內容完全一致時才算匹配成功,字符串“frobnitzm”僅僅與其自身匹配,
空鍵值也僅僅是空鍵值。“:matches”則使用字符“*”和“?”規定通配符,“*”表示0或多
個字符,“?”表示單個字符。要與這兩個字符本身匹配時必須是用雙斜杠進行轉義,即分別
使用“\\*”和“\\?”。前一個斜杠對第二個進行轉義,兩者合在一起對后面的“*”轉義,
雖然有點羅嗦,不過在一些使用團塊和正則表達式的程序語言中也很常見。
為了明確采用何種類型的匹配,可以使用標志參數“:match”、“:is”和“:contains”,如
果沒有指定匹配方式,則缺省采用“:is”。要注意,這些修飾成分與比較運算子相互作用,
某些比較運算子無法與“:matches”和“:contains”一起工作,如果強制使用就會造成錯誤。
每個命令只能使用一個匹配參數,否則就是錯誤的。為了方便說明,我們把匹配類型語法成
分定義如下:
   ":is" / ":contains" / ":matches"

2.7.2.  跨字符集的比較
濾網描述語言用UTF-8表示,但是消息中可能使用多個字符集,因此實現時應該完成
跨字符集的比較運算。實現必須把消息頭使用的字符集轉換成UTF-8編碼,只要兩個字符
串的UTF-8編碼相等,就認為兩個字符串時相同的。另外,無論是消息頭還是消息體,只
要采用[MIME]規定的形式,都應能夠對其解碼,包括ISO-8859-*字符集UTF-8的ASCII子
集、US-ASCII、ISO-8859-1。如果實現上有困難,則至少要保證只要兩個字符串有一個包含
大于127的字節則兩者不等。
2.7.3.  比較運算子
匹配類型還可以帶有一個比較運算子,以實現語言無關、大小寫無關的串匹配。比較運
算子在[ACAP]中描述,ACAP定義注冊項,本規范則引用那些注冊項。ACAP定義了許多
比較類型,單本規范僅僅是用相等比較。本語言的任何實現都必須支持“i;octet”運算子(簡
單的字節比較)和“i;ascii-casemap”運算子(把UTF-8的ASCII子集的大寫字符和小寫字
符視作同一個字符)。如果沒有明確規定,缺省使用“i;ascii-casemap”。某些比較運算子不
適用于子串匹配,就是說只能用于“:is”匹配。如果試圖對“:contains”和“:matches”使
用不合適的運算子會造成錯誤。
比較運算子用可選參數“:comparator”指定,語法如下:
  ":comparator" <comparator-name: string>
因此在下面的例子中,所有主題類似于“You can MAKEMONEY FAST”的消息都被丟
棄,但是由于采用的比較運算子對大小寫敏感,以“You can Make Money Fast”為主題的消
息就會保留下來。
 if header :contains :comparator "i;octet" "Subject"
                "MAKE MONEY FAST" {
                   discard;
             }
其他的比較運算子屬于擴展類型,必須聲明之后才能使用,未知的運算子會導致操作失
敗。“:matches”和“:contains”匹配類型都支持“i;octet”和“i;ascii-casemap”比較運算子。
運算子參數在一條命令中只能給出一次。
2.7.4.  地址之間的比較
地址是最常使用的字符串。這種字符串是結構化的,經常需要與某個地址的本地部分和
域地址部分進行比較,因此專門處理地址的某些測試允許帶有一個額外的可選參數。這個可
選參數可以是“:localprat”、“:domain”或“:all”,分別對地址的本地部分、域地址部分和整
個地址進行測試。至于比較的方式,比如是否區分大小寫由測試的運算子參數指定。省略的
情況下默認使用“:all”。地址參數的語法如下:
  ":localpart" / ":domain" / ":all"
2.8.   塊
塊是放在花括號之間的一組命令,引入塊是為了使用控制結構。控制結構是一種命令,
其參數包括測試和塊兩部分,根據測試的結果決定塊中的代碼執行多少次。本規范中提供的
命令不包含循環結構,提供的控制結構(if、elseif和else)要么對塊執行一次,要么一次也
不執行。因此只涉及到兩個參數:測試和塊。
2.9.   命令
濾網描述程序由命令組成。命令可以使用上述任何符號作為參數,參數既可以是位置參
數,也可以是標志參數,有些命令沒有參數。命令分為三類:測試命令、動作命令和控制命
令。最簡單的是動作命令,動作命令是一個標識符,后面可以沒有參數也可以有多個參數,
動作命令以分號結束,不能以測試或者塊作為參數。控制命令與此類似,但是測試命令的參
數是一個測試,而且只能以塊而不是分號結束。測試命令作為控制命令的一部分,用于確定
是否要執行后面的塊。
2.10.  求值
2.10.1. 動作之間的影響
某些動作不能與其它的動作一起使用,否則結果很荒謬,本文后面還會提到。擴展的動
作命令必須說明與本文規定的動作之間的相互作用。
2.10.2.  隱含留存
以前的經驗表明過濾系統最好避免對大小寫的區分,濾網語言采用“隱含留存”的方法
防止誤刪郵件。隱含留存就是說只要某個動作沒有禁止則自動把郵件保存下來。只要沒有把
郵件寫入信箱、轉存到其他地址或者明確地刪除就執行隱含留存操作。某些動作可能需要保
留隱含留存的操作,這些動作不會直接影響郵件的傳遞,但可能有這方面的副作用。本規范
所定義的動作沒有涉及這個問題,但是以后擴展中肯能要遇到。比方說,對于上面提到的短
消息,下面的描述語句不會產生任何影響,就是說隱含留存在發揮作用。
  if size :over 500K { discard; }
2.10.3. 郵箱中的消息的唯一性
實現不應把同一個消息重復投送到一個信箱,既是描述程序明確要求把一個消息兩次寫
入同一個信箱。至于如何檢查兩個郵件是否相同取決于具體實現的定義。如果描述程序要求
再次把某個郵件寫入同一個信箱不能認為是錯誤。
2.10.4. 動作數量的限制
基于站點的管理策略,可能要對所執行操作的數量或者同時執行的操作進行限制。如果
描述程序違反了站點對特定郵件的處理次數限制就要發生錯誤。實現必須避免再次發生同樣
的錯誤。實現至少要允許一次留存或者轉存(fileinto)操作,如果不能轉存,至少要能夠留
存。其它的動作要避免被拒絕。
2.10.5. 擴展特性與可選特性
考慮到不同郵件系統的不同性能,本規范定義了幾種可選特性。在執行這類擴展操作之
前,必須使用“require”聲明。如果某種擴展不能夠“require”,則必須被視作完全不支持
該操作。如果描述程序無法識別“require”聲明的某種擴展操作,則不執行該描述程序。
注意:這樣規定是因為像LISP和TCL之類語言的經驗表明,提示一下某個描述程序使
用了擴展成分是一種有效的方法。PostScript的實踐經驗則建議,最好不要采用這樣的機制
——讓描述程序的工作依賴于不存在的擴展。
定義新的動作命令的擴展必須說明與本文所定義的動作之間的交互作用。
2.10.6. 錯誤
任何程序語言都會發生變異錯誤和運行錯誤。編譯錯誤是指進行語法檢查時可以檢查出
的錯誤,運行錯誤是只有在程序運行時才能發現的錯誤,其中包括磁盤寫滿之類的臨時錯誤,
也包括非法的操作組合之類的問題。濾網描述語言在發生錯誤時體制所有的操作。在實現時
可以采用完整解析的策略,先測試所有的描述語句然后再執行所有的操作,甚至可以采用原
子執行 策略(要末全部執行要一個也不執行)。或者采用邊解釋邊執行的策略,這樣實現起
來簡單,但是存在部分操作出錯的問題(某些動作出錯,其他的則正常執行)。實現也可以
在執行之前先排除不合法的操作集合(比如,reject + fileinto),但是這樣可能會帶來所謂的
“當機問題”。上述各種方法都是允許的,當機問題不在本規范的討論之列。如果發生了錯
誤,實現必須通知用戶在執行哪個操作時發生了錯誤,并執行隱含留存操作。
2.10.7. 執行上的限制
具體的實現可能要多某些結構進行限制,不過本規范對此沒有過多的要求:至少要支持
15級的塊嵌套和15級的測試列表嵌套。
3.  控制命令
多重操作和條件操作必須是用控制命令。
3.1.  控制結構if
if控制結構包括三部分:“if”、“elsif”和“else”,從語法上講每一部分都是單獨的一個
命令,但是“elseif”只能跟在“if”之后使用,“else”只能用在“if”或“elseif”后面,否
則就是錯誤的。
    語法:  if <test1: test> <block1: block>
	語法:  elsif <test2: test> <block2: block>
	語法:  else <block>
這些控制命令的含義與在其它語言中的含義類似,解釋器遇到“if”時首先計算相關的
測試,如果結果為真則執行接下來的命令塊。否則計算后面的第一個“elseif”相關的測試
(如果有的話),如果結果為真,則執行其后的命令塊。Elseif后面可能還有其它的elsif,
如果這樣的話就反復進行同樣的測試。如果所有的“elsif”都不成立而且出現了“else”,則
執行“else”后的命令塊。這樣在多個命令塊組成的鏈中,只選擇執行其中的一個。
下面的例子中,郵件A和B都被下載到信箱中:
   Example:  require "fileinto";
             if header :contains "from" "coyote" {
                discard;
             } elsif header :contains ["subject"] ["$$$"] {
                discard;
             } else {
                fileinto "INBOX";
             }
如果執行下面的程序,則郵件A被轉存到acm@example.edu,而郵件B則轉存到 
postmaster@example.edu中,其他的郵件都被轉存到field@example.edu。
   Example:  if header :contains ["From"] ["coyote"] {
                redirect "acm@example.edu";
             } elsif header :contains "Subject" "$$$" {
                redirect "postmaster@example.edu";
             } else {
                redirect "field@example.edu";
             }
注意這里與C語言不同,“else”和“if”之間沒有空格,這樣做是為了避免引起混淆。
3.2.  控制結構Require
   語法: require <capabilities: string-list>
該動作說明描述程序要使用的特定擴展,如前所述在需要規范的擴展部分時必須使用
require進行聲明,如果需要多個擴展成分可以在一條require語句中聲明。如果出現require
命令,它必須放在所有其他命令之前,否則會出現錯誤。
   例1:  require ["fileinto", "reject"];
   例2:  require "fileinto";
           require "vacation";

3.3.  控制結構Stop
   語法:   stop
該動作結束所有的操作,如果沒有任何操作執行,則執行保存。
4.   動作命令
本文定義了5個用于處理郵件的動作:keep、fileinto、redirect、reject和discard。本語
言的具體實現必須支持“keep”、“discard”和“redirect”三個動作,應該提供“reject”和“fileinto”
命令,還可以對特定操作的次數予以限制。
4.1.    拒收(reject)
   語法:   reject <reason: string>
“拒收”操作是可選的命令,拒絕接收郵件并反饋給發送方一個[MDN]。這個命令把消
息返回給發送方,并說明接收方拒絕收取。在下面的程序中,消息A被拒收并返回給接收
方。
   例1:  if header :contains "from" "coyote@desert.example.org" {
                reject "I am not taking mail from you, and I don't want
                your birdseed, either!";
             }
退回郵件按照[MDN]規范必須采用MDN錯誤的格式,其中的可讀部分(MDN的第一
個成分)說明錯誤的原因,同時應通知發送方該郵件被過濾程序拒絕了。比方說內容可以是:
   ------------------------------------------------------------
   接收方的郵件過濾程序拒收該郵件,原因如下:
   我不接受你的郵件,也不上你的當!
   ------------------------------------------------------------
按照MDN規范MDN操作值字段必須是“deleted”,可以采用MDN自動發送和自動操
作模式集。某些實現可能不支持這個可選命令,使用前必須使用require命令聲明“reject”。
4.2.  轉存(fileinto)
   語法:   fileinto <folder: string>
“轉存”操作把消息保存到指定的文件夾,實現應該支持該命令,但在某些環境中也許
不能執行這樣的操作。在使用之前應在require命令中聲明“fileinto”。 例如下面的語句將
把消息A保存到“INBOX.harassment”文件夾中:
   Example:  require "fileinto";
             if header :contains ["from"] "coyote" {
                fileinto "INBOX.harassment";
             }

4.3.  轉發(redirect)
   語法:   redirect <address: string>
“轉發”命令用于把消息發給指定地址的另外一個用戶,它不改變消息體和消息頭,但
可以增加一個新的消息頭,這個命令修改了郵件的接收方。該命令執行MTA類型的“重發”
操作(UNIX采用的風格),SMTP信封上的地址被轉發命令中的新地址代替并在后臺發出。
(注意這里與MUA類型的重發不同,MUA要創建一個發送方和消息ID都不同的新郵件,
在新郵件內裝上原來的郵件。)只要一條簡單的語句就可以轉發所有的郵件,例如:
   redirect "bart@example.edu";
實現應該設法通過循環控制為消息加上消息頭或者計數收到的消息頭,如果實現檢測到
某個循環,就會導致錯誤。
4.4.  保存(keep)
   語法:   keep

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美人妖巨大在线| 蜜桃av噜噜一区| 国产清纯白嫩初高生在线观看91| 色网站国产精品| 99久久精品费精品国产一区二区| 国产成人精品三级| 国模娜娜一区二区三区| 免费三级欧美电影| 久久99精品视频| 麻豆高清免费国产一区| 精品一区二区三区免费播放| 久久草av在线| 国产精品自产自拍| 99国产精品视频免费观看| 色婷婷综合激情| 欧美日韩精品欧美日韩精品一综合| 欧美伊人精品成人久久综合97| 精品视频1区2区3区| 欧美日韩国产一区| 欧美变态tickling挠脚心| 久久综合色之久久综合| 国产清纯在线一区二区www| 中文字幕在线不卡国产视频| 亚洲欧美日韩综合aⅴ视频| 亚洲国产精品一区二区久久恐怖片 | 一区二区不卡在线播放 | 国产欧美一区视频| 亚洲视频1区2区| 五月天激情小说综合| 国产一区二区三区免费| 91在线视频免费91| 日韩你懂的电影在线观看| 久久久亚洲国产美女国产盗摄| 亚洲丝袜美腿综合| 麻豆国产欧美一区二区三区| 国产精品一区二区免费不卡| 在线精品视频一区二区三四| 欧美一区二区播放| 亚洲欧美在线观看| 蜜臀av国产精品久久久久| 成人激情校园春色| 4438亚洲最大| 亚洲免费观看高清完整版在线 | 欧美xxxx老人做受| 亚洲人成网站在线| 紧缚奴在线一区二区三区| 99久久久久久| 国产午夜三级一区二区三| 亚洲国产另类av| 成人av免费在线观看| 日韩视频一区二区在线观看| 日韩美女视频一区二区| 久久精品国产第一区二区三区| 色综合久久久网| 欧美激情一区不卡| 加勒比av一区二区| 欧美日韩精品一区二区| 成人欧美一区二区三区| 国产精品99久久久久久久vr| 欧美一区二区在线不卡| 亚洲最大色网站| 91麻豆精品一区二区三区| 日本一二三不卡| 国产乱码精品1区2区3区| 在线综合视频播放| 亚洲gay无套男同| 在线观看区一区二| 亚洲日本护士毛茸茸| 成人一级片网址| 久久精品亚洲麻豆av一区二区| 精品一区二区三区视频| 欧美一级高清大全免费观看| 亚洲高清视频在线| 欧美日韩国产一级| 婷婷久久综合九色综合绿巨人| 91麻豆蜜桃一区二区三区| 亚洲视频一区二区在线| 成人激情开心网| 综合激情成人伊人| 色综合天天综合网国产成人综合天 | 日韩网站在线看片你懂的| 丝袜诱惑亚洲看片| 欧美一区二区三区免费大片 | 日韩av高清在线观看| 制服丝袜亚洲色图| 奇米亚洲午夜久久精品| 在线播放欧美女士性生活| 日本美女一区二区| 久久亚洲综合色| 成人午夜视频免费看| 亚洲欧美日韩国产另类专区| 欧洲国产伦久久久久久久| 亚洲丰满少妇videoshd| 欧美一级视频精品观看| 国内久久婷婷综合| 国产精品久久久久久久久果冻传媒| jlzzjlzz亚洲日本少妇| 亚洲综合激情网| 欧美电影免费观看高清完整版在线观看| 日本麻豆一区二区三区视频| 久久精品人人爽人人爽| aaa国产一区| 亚洲成人黄色小说| 337p日本欧洲亚洲大胆色噜噜| 国产黄色精品网站| 一区二区三区四区在线| 精品久久久久久久久久久久久久久久久 | 国产精品羞羞答答xxdd| 中文字幕一区日韩精品欧美| 色婷婷激情一区二区三区| 日本亚洲免费观看| 国产蜜臀97一区二区三区| 日本电影欧美片| 精品一区二区三区在线视频| 中文字幕av资源一区| 欧美日韩成人在线一区| 国产不卡视频一区二区三区| 亚洲欧美另类综合偷拍| 久久亚洲精品小早川怜子| 91激情五月电影| 国产一区二区美女诱惑| 香蕉成人伊视频在线观看| 久久免费看少妇高潮| 欧美日韩亚洲综合一区二区三区| 国产一区二区三区四区五区美女| 亚洲一二三四在线观看| 国产视频在线观看一区二区三区| 欧美日韩情趣电影| 色综合久久天天| 成人视屏免费看| 国产白丝网站精品污在线入口| 天堂资源在线中文精品| 综合电影一区二区三区 | 色综合视频在线观看| 国产精品一区二区在线播放| 首页综合国产亚洲丝袜| 亚洲精品一二三| 国产精品女主播在线观看| 欧美一区二区三区视频免费| 欧美性欧美巨大黑白大战| 大白屁股一区二区视频| 日韩精品成人一区二区在线| 亚洲免费色视频| 国产精品久久久久久户外露出| 26uuu久久综合| 在线播放日韩导航| 欧美三级电影在线观看| 色婷婷久久久亚洲一区二区三区| 日日骚欧美日韩| 欧美—级在线免费片| 国产精品午夜免费| 久久精品欧美一区二区三区不卡 | 久久国产精品99精品国产 | 另类欧美日韩国产在线| 国产精品午夜在线| 国产精品日韩成人| 日本一区二区成人在线| 国产精品国产三级国产普通话三级 | 色香蕉成人二区免费| 国内外成人在线| 午夜精品福利在线| 蜜桃av一区二区| 国产精品一区二区久激情瑜伽| 国产精品888| 99精品视频在线免费观看| 成人av第一页| 国产传媒欧美日韩成人| 日韩影院精彩在线| 国产综合色视频| 国产jizzjizz一区二区| 国产999精品久久| 色综合咪咪久久| 欧美日韩卡一卡二| 2023国产精华国产精品| 日本一区二区三区四区| 欧美激情一区二区三区全黄| 国产精品不卡一区二区三区| 自拍偷拍国产精品| 日韩在线卡一卡二| 国产一区 二区| 91麻豆swag| 日韩视频123| 中文字幕一区二区三中文字幕| 亚洲激情自拍偷拍| 久久爱另类一区二区小说| 国产精品羞羞答答xxdd| 不卡的av电影在线观看| 欧美男生操女生| 久久精品一区二区三区av| 亚洲精品日韩专区silk| 免费成人在线观看视频| 波多野结衣视频一区| 欧美精品第一页| 国产精品久久久久久久久图文区| 亚洲高清一区二区三区| 顶级嫩模精品视频在线看| 91一区二区三区在线播放| 日韩欧美激情在线| 亚洲精品videosex极品| 国产大片一区二区|