Sun Java System Messaging Server 6 2005Q4 管理指南

SEND_ACCESS 和 ORIG_SEND_ACCESS 表格

可以使用 SEND_ACCESSORIG_SEND_ACCESS 對映表來控制傳送和/或接收郵件的人員。存取檢查可使用郵件的訊息封 From: 位址和訊息封 To: 位址,並且可瞭解郵件已進入哪個通道以及將嘗試從哪個通道發出。

如果存在 SEND_ACCESSORIG_SEND_ACCESS 對映表,則對於經由 MTA 傳送的每封郵件的每個收件者來說,MTA 將使用以下形式 (請注意垂直分隔線字元 | 的用法) 的字串掃描該表格:

src-channel|from-address|dst-channel|to-address

其中,src-channel 是郵件在其中形成佇列的通道;from-address 是郵件創建者的位址;dst-channel 是郵件將要被佇列至的通道; to-address 是郵件將要傳送到的位址。在這四個欄位的任何一個欄位中使用星號將使該欄位符合適合的任一通道或位址。

此處位址為訊息封位址;即,訊息封 From: 位址和訊息封 To: 位址。如果是 SEND_ACCESS,系統將在執行重寫、別名擴充等作業後檢查訊息封 To: 位址;如果是 ORIG_SEND_ACCESS,系統將在執行重寫之後、別名擴充之前檢查最初指定的訊息封 To: 位址。

如果搜尋字串符合式樣 (即表格中項目的左側),則系統將檢查對映的結果輸出。如果輸出包含旗標 $Y 或 $y,則允許該特殊 To: 位址形成佇列。如果輸出包含旗標 $N、$n、$F 或 $f 中的任何一個,則系統將拒絕對該特定位址形成佇列。在拒絕的情況下,對映輸出中會提供選擇性的拒絕文字。該字串將包含在 MTA 發出的拒絕錯誤中。如果未輸出任何字串 (除 $N、$n、$F 或 $f 旗標之外),則將使用預設拒絕文字。如需有關附加旗標的說明,請參閱存取控制對映表旗標

將 MTA 選項 ACCESS_ORCPT 設定為 1 可將由垂直分隔線分隔的附加欄位增加至傳送至 SEND_ACCESSORIG_SEND_ACCESSMAIL_ACCESSORIG_MAIL_ACCESS 對映表的探測值 (包含原始收件者 ORCPT 位址)。如果郵件沒有 ORCPT 位址,則使用原始的未修改 RCPT TO: 位址來替代。預設為 0,探測值在結尾處:

src-channel|from-address|dst-channel|to-address|ORCPT_address

在以下範例中,UNIX 使用者代理程式 (如 mail、Pine 等) 傳送的郵件來自本機 (l) 通道,傳送至網際網路的郵件通過某種類型的 TCP/IP 通道發出。假設系統不允許本機使用者 (postmaster 除外) 向網際網路傳送郵件,但是允許接收來自網際網路的郵件。則以下範例中所示的 SEND_ACCESS 對映表是強制執行此限制的一種可能方法。在此對映表中,假設本地主機名稱為 sesta.com。在通道名稱「tcp_*」中,使用萬用字元以便匹配任何可能的 TCP/IP 通道名稱 (例如 tcp_local)。


範例 17–1 SEND_ACCESS 對映表


SEND_ACCESS

   *|postmaster@sesta.com|*|*    $Y
   *|*|*|postmaster@sesta.com    $Y
   l|*@sesta.com|tcp_*|*         $NInternet$ postings$ are$ not$ permitted

            

在拒絕訊息中使用美元符號來引用訊息中的空格。如果沒有這些美元符號,拒絕將提前結束並且螢幕上將僅顯示「網際網路」而不是「不允許進行網際網路發佈」。請注意,此範例忽略了其他可能的「本機」發佈來源,例如從基於 PC 的郵件系統或從 POP 或 IMAP 用戶端發佈。


備註 –

嘗試傳送郵件的用戶端決定是否確實要對嘗試傳送郵件的使用者顯示 MTA 拒絕錯誤文字。如果使用 SEND_ACCESS 拒絕內送 SMTP 郵件,則 MTA 僅發出包含選擇性拒絕文字的 SMTP 拒絕代碼;SMTP 傳送用戶端負責使用該資訊建構要傳回給原始寄件者的退回郵件。