本节介绍如何使用转换通道选项退回、删除或保留邮件。基本过程如下:
在相应的 conversions 文件条目中设置 OVERRIDE-OPTION-FILE=1。这将通知 conversion 通道从 OUTPUT_OPTIONS 文件中读取输出选项。
使用转换脚本来确定需要对特定邮件主体部分进行的操作。
在脚本中,通过在 OUTPUT_OPTIONS 文件中写入 STATUS=directive_code 选项来指定用于该操作的特殊指令。
在 msg_svr_base/include/deprecated/pmdf_err.h 中可以查看特殊指令的完整列表。转换通道常用的指令如下:
表 13–5 转换通道常用的特殊指令
名称 |
十六进制值 |
十进制值 |
---|---|---|
PMDF__FORCEHOLD |
0x0A9C86AA |
178030250 |
PMDF__FORCERETURN |
0x0A9C857A |
178029946 |
PMDF__FORCEDELETE |
0x0A9C8662 |
178030178 |
我们将使用示例来说明这些指令的功能。
要使用 conversion 通道退回邮件,请在相应的 conversions 文件条目中设置 OVERRIDE-OPTION-FILE=1,并将以下行添加到转换脚本中:
echo "STATUS=178029946" >> $OUTPUT_OPTIONS
如果希望将简短的文本字符串添加到退回的邮件中,请将以下行添加到转换脚本中:
echo OUTPUT_DIAGNOSTIC=text-string >> $OUTPUT_OPTIONS
其中 text string 大致为:“The message sent from your machine contained a virus which has been removed. Be careful about executing email attachments.”
根据邮件部分所包含的内容有条件地删除邮件部分可能会很有用。可以使用输出选项进行此操作。与之相反,DELETE=1 转换参数子句将无条件删除邮件部分。
要使用输出选项删除邮件部分,请在相应的 conversions 文件条目中设置 OVERRIDE-OPTION-FILE=1,并将以下行添加到转换脚本中:
echo "STATUS=178030178" >> $OUTPUT_OPTIONS
根据邮件包含的内容有条件地保留邮件可能会很有用。要使用输出选项删除邮件部分,请在相应的 conversions 文件条目中设置 OVERRIDE-OPTION-FILE=1,并将以下行添加到转换脚本中:
echo "STATUS=178030250" >> $OUTPUT_OPTIONS
这将请求 conversion 通道在 conversion 通道队列中将邮件保留为 .HELD 文件。