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

重新标记 MIME 标题

某些用户代理或网关可能会发出 MIME 标题只包含很少信息的邮件,但是使用这些信息足以构建更精确的 MIME 标题。尽管最佳解决方案是正确配置这些用户代理或网关,但是如果它们不在您的控制范围之内,您可以要求 MTA 尝试重新构建更有用的 MIME 标题。

如果 CHARSET-CONVERSION 映射表的第一次探测产生了 YesAlways 关键字,则 MTA 将检查 conversions 文件是否存在。如果 conversions 文件存在,MTA 将在其中查找带有 RELABEL=1 的条目,如果找到这样的条目,MTA 将执行该条目中指定的 MIME 重新标记操作。有关 conversions 文件条目的信息,请参见控制转换处理

例如, 如下所示的 CHARSET-CONVERSION 表:


CHARSET-CONVERSION  

  IN-CHAN=tcp_local;OUT-CHAN=tcp_internal;CONVERT            Yes

与 MTA conversion 文件条目


out-chan=ims-ms; in-type=application; in-subtype=octet-stream; 
  in-parameter-name-0=name; in-parameter-value-0=*.ps; 
  out-type=application; out-subtype=postscript;   
  parameter-copy-0=*; relabel=1 

out-chan=ims-ms; in-type=application; in-subtype=octet-stream; 
  in-parameter-name-0=name; in-parameter-value-0=*.msw; 
  out-type=application; out-subtype=msword; 
     parameter-copy-0=* relabel=1

的组合将使邮件被重新标记:通过 tcp_local 通道到达并被路由到 ims-ms 通道的邮件,如果最初到达时的 MIME 标记为 application/octet-stream,但文件名参数带有扩展名 psmsw,则它们将分别被重新标记为 application/postscript 或 application/msword。(请注意,这种更精确的标记本来应该由原来的用户代理或网关自己执行。)这样的重新标记与 MIME-CONTENT-TYPES-TO-MR 映射表结合使用会特别有用,可用于将这样生成的 MIME 类型转换回相应的 MRTYPE 标记(这类标记需要进行精确的 MIME 标记才能以最佳方式运行);如果所有内容类型都只被标记为 application/octet-stream,则 MIME-CONTENT-TYPES-TO-MR 映射表最多只能将这些类型无条件地转换为 MRTYPE 一种类型。

利用以上示例组合以及包括以下内容的 MIME-CONTENT-TYPES-TO-MR 映射表条目

APPLICATION/POSTSCRIPT        PS 
APPLICATION/MSWORD              MW

原来的标记,例如

Content-type: application/octet-stream; name=stuff.ps

将被重新标记为

Content-type: application/postscript

然后被转换为 MRTYPE 标记 PS 以使邮件路由器知道需要 PostScript。

有时按照相反类型的方向进行重新标记也很有用,亦即将特定的 MIME 附件标记“降级”为通用二进制数据标记 application/octet-stream。而且,“降级”特定的 MIME 标记通常与 mime_to_x400 通道 (PMDF-X400) 或 xapi_local 通道 (PMDF-MB400) 上的 convert_octet_stream 通道关键字结合使用,以将所有二进制 MIME 附件强制转换为 X.400 bodypart 14 格式。

例如,如下所示的 CHARSET-CONVERSION 映射表

CHARSET-CONVERSION

    IN-CHAN=*;OUT-CHAN=mime_to_x400*;CONVERT Yes

与下面的 PMDF 转换文件条目

out-chan=mime_to_x400*; in-type=application; in-subtype=*;
   out-type=application; out-subtype=octet-stream; relabel=1
 
out-chan=mime_to_x400*; in-type=audio; in-subtype=*; 
   out-type=application; out-subtype=octet-stream; relabel=1 

out-chan=mime_to_x400*; in-type=image; in-subtype=*; 
   out-type=application; out-subtype=octet-stream; relabel=1 

out-chan=mime_to_x400*; in-type=video; in-subtype=*; 
   out-type=application; out-subtype=octet-stream; relabel=1

的组合将把各种特定的 MIME 附件标记降级为进入 mime_to_x400* 通道的所有邮件通用的 application/octet-stream 标记(从而可应用 convert_octet_stream)。