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

網站提供的常式替換 ($[...])

格式 $[image ,routine,argument ] 的替換是經過特殊處理的。image, routine, argument 部分用於尋找並呼叫用戶提供的常式。在 UNIX 上運行時,MTA 使用 dlopendlsym 從共用程式庫 image 中動態地載入和呼叫常式 routine。然後,將使用以下引數清單以函數的方式呼叫常式 routine


status = routine (argument, arglength, result, reslength)

argumentresult 是長度為 252 個位元組的字元字串緩衝區。argumentresult 將做為指標傳送至字元字串 (例如,在 C 中做為 char*)。arglengthreslength 是由參照傳送的帶符號的長整數。在輸入中,argument 包含來自對映表範本的 argument 字串,arglength 包含該字串的長度。在傳回中,結果字串應置於 result 中,其長度應置於 reslength 中。然後,結果字串會替代對映表範本中的 $[image,routine,argument]。如果對映表替換失敗,則 routine 常式應傳回 0;如果對映表替換成功,則該常式應傳回 -1。如果替換失敗,則正常情況下,原始輸入字串將保持不變地用作輸出字串。

如果您要在執行站點提供的常式替換的對映表項目中使用處理控制中介字元 (如 $C$R$L),應將處理控制中介字元置於對映表範本中網站提供的常式替換的左側;否則,對映表替換的「失敗」將意味著不顯示處理控制中介字元。

網站提供的常式圖例機制允許使用各種複雜的方式來延伸 MTA 的對映程序。例如,在 PORT_ACCESSORIG_SEND_ACCESS 對映表中,可以執行對某些類型的載入監視服務的呼叫,其結果用於決定是否接受連線或郵件。

站點提供的共用程式庫影像 image 應可由所有人讀取。