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

配置标题处理

本节说明了涉及标题和信封信息的关键字。其中包含以下各节:

重写嵌入式标题

关键字:noinnerinner

仅在必要时才解释标题行内容。但是,由于具有在邮件中嵌入邮件的功能 (message/RFC822),因此 MIME 邮件可能包含多组邮件标题。MTA 通常只解释和重写最外面那组邮件标题。但也可以选择通知 MTA 对邮件中的内部标题应用标题重写。

可以使用关键字 noinnerinner 控制此行为。关键字 noinner 通知 MTA 不重写内部邮件标题行。这是默认设置。关键字 inner 通知 MTA 对邮件进行解析,并重写内部标题。上述关键字可以应用到所有通道中。

删除选定的邮件标题行

关键字:headertrimnoheadertrimheaderreadnoheaderreadinnertrimnoinnertrim

MTA 提供了基于每个通道的功能,可以从邮件中剪裁或删除选定的邮件标题行。通过将通道关键字和一至两个关联的标题选项文件结合使用可以实现此功能。在 《Sun Java System Messaging Server 6 2005Q4 Administration Reference》中的“Header Option Files” 中介绍了标题选项文件的格式。

headertrim 关键字指示 MTA 在处理原来的邮件标题之后查看与通道关联的标题选项文件并对在该目标通道排队的邮件的标题进行相应的剪裁。noheadertrim 关键字不进行标题剪裁。关键字 noheadertrim 是默认设置。

innertrim 关键字指示 MTA 对内部邮件部分(即嵌入的 MESSAGE/RFC822 部分)也执行标题剪裁。noinnertrim 关键字是默认设置,它通知 MTA 不对内部邮件部分执行标题剪裁。

headerread 关键字指示 MTA 在处理原来的邮件标题之前查看与通道关联的标题选项文件并对加入该源通道队列的邮件的标题进行相应的剪裁。请注意,另一方面,headertrim 标题剪裁是在处理邮件之后应用的,而且是应用于目标通道而不是源通道。noheaderread 关键字不对加入队列的邮件进行标题剪裁。noheaderread 是默认设置。

与关键字 headeromitheaderbottom 不同,关键字 headertrimheaderread 可以应用到任意通道中。但是请注意,从邮件中删除重要的标题信息可能会导致 MTA 无法正常操作。选择要删除或要对其进行限制的标题时请特别小心。存在该功能是因为在极少的某些情况下必须删除或限制选定的标题行。


注意 – 注意 –

从邮件中删除标题信息可能会导致 MTA 无法正常操作。选择要删除或要对其进行限制的标题时请小心。提供这些关键字是因为在极少的某些情况下必须删除或限制选定的标题行。对任何标题行进行剪裁或删除之前,您必须了解该标题行的用途,并考虑删除操作可能带来的后果。


用于关键字 headertriminnertrim 的标题选项文件的名称格式为 channel _headers.opt,其中 channel 是标题选项文件与其关联的通道的名称。类似地,headerread 关键字的标题选项文件的名称格式为 channel_read_headers.opt。上述文件存储在 MTA 配置目录 instance_root/imta/config/ 中。

生成/删除 X-Envelope-to 标题行

关键字:x_env_tonox_env_to

关键字 x_env_tonox_env_to 控制在特定通道排队的邮件副本中的 X-Envelope-to 标题行的生成或取消。在用 single 关键字标记的通道中,x_env_to 关键字启用上述标题的生成,而 nox_env_to 则从加入队列的邮件中删除上述标题。默认设置是 nox_env_to

x_env_to 关键字还需要 single 关键字才能生效。

将日期转换为两位数或四位数

关键字:datefourdatetwo

原来的 RFC 822 规范要求邮件标题中日期字段必须使用两位数年份。后来 RFC 1123 将其更改为四位数。但是某些旧邮件系统无法接受四位数日期。此外,某些新邮件系统不再允许两位数日期。


注 –

无法同时处理这两种格式的系统将遇到标准相互违背的问题。


关键字 datefourdatetwo 控制 MTA 对邮件标题日期中年份字段的处理。关键字 datefour 是默认设置,它指示 MTA 将所有年份字段扩展为四位数。值小于 50 的两位数日期会加 2000,值大于 50 的两位数日期则加 1900。


注意 – 注意 –

关键字 datetwo 指示 MTA 删除四位数日期中的前两位数。此功能是为了与要求两位数日期的不兼容的邮件系统兼容;不得用于其他用途。


在日期中指定星期几

关键字:dayofweeknodayofweek

RFC 822 规范允许在邮件标题中日期字段的开头指定星期几。但是某些系统不能容纳星期几的信息。这使某些系统不愿包含此信息,尽管在标题中使用这些信息很有用。

关键字 dayofweeknodayofweek 控制 MTA 对星期几信息的处理。关键字 dayofweek 是默认设置,它指示 MTA 保留所有星期几信息,如果缺少此信息,则将其添加到日期和时间标题中。


注意 – 注意 –

关键字 nodayofweek 指示 MTA 删除日期和时间标题中开头的星期几信息。此功能是为了与不能正确处理此信息的不兼容的邮件系统兼容;不得用于其他用途。


自动分割长标题行

关键字:maxheaderaddrsmaxheaderchars

某些邮件传输(尤其是某些 sendmail 实现)不能正确处理长标题行。通常这不仅会导致标题行损坏,而且会导致错误的邮件拒绝。尽管这一现象严重违背标准,却是个常见的问题。

MTA 提供了基于每个通道的功能,可以将长标题行分割(断开)为多个独立的标题行。maxheaderaddrs 关键字控制一行中可以显示的地址的数量。maxheaderchars 关键字控制一行中可以显示的字符的数量。这两个关键字都要求一个整数参数,用以指定关联的限制。默认情况下,不对标题行的长度和可以显示的地址数实施任何限制。

标题对齐和折叠

关键字:headerlabelalignheaderlinelength

headerlabelalign 关键字控制加入此通道队列的邮件标题的对齐点;它使用整数值参数。对齐点是指标题内容对齐的边界。例如,对齐点为 10 的实例标题行外观如下:


To:       joe@siroe.com
From:     mary@siroe.com
Subject:  Alignment test
         

默认的 headerlabelalign 是 0,表示不对齐标题。headerlinelength 关键字控制加入此通道队列的邮件标题行的长度。将依据 RFC 822 折叠规则对大于该长度的标题行进行折叠。

上述关键字只控制邮件队列中邮件标题的格式,标题的实际显示通常由用户代理控制。此外,通过 Internet 传输标题时,将对其进行例行的重新格式化处理,因此即使将这些关键字与简单用户代理一起使用,如果用户代理不对邮件标题进行重新格式化的,则可能也没有可见的效果。

指定标题行最大长度

关键字:maxprocchars

处理包含许多地址的长标题行会消耗大量系统资源。maxprocchars 关键字用于指定 MTA 能够处理和重写的最大长度的标题。标题超过此长度的邮件将仍然被接受和传送,唯一的区别在于将不以任何方式重写长标题行。此关键字需要整数参数。默认设置为处理任意长度的标题。

敏感度检查

关键字:sensitivitynormalsensitivitypersonalsensitivityprivatesensitivitycompanyconfidential

敏感度检查关键字设置通道可以接受的邮件敏感度的上限。默认设置是 sensitivitycompanyconfidential;任意敏感度的邮件都可以通过。没有 Sensitivity: 标题的邮件被认为是正常邮件,即敏感度最低的邮件。如果邮件的敏感度高于上述关键字的指定,则当其排入通道时将被拒绝,并显示错误消息:

邮件对所使用的一个或多个路径过于敏感

请注意,MTA 进行此类敏感度检时以每个邮件为级别而不是以每个收件人为级别:如果某个收件人的目标通道未能通过敏感度检查,则所有收件人的邮件都将退回,而不仅是与敏感通道关联的收件人。

设置标题中的默认语言

关键字:language

标题中经过编码的内容可以显示为特定语言。language 关键字指定默认语言。