Sun Java System Messaging Server 6.3 管理指南

12.8.3 大型邮件的自动分段

关键字:maxblocksmaxlines

某些电子邮件系统或网络传输无法处理超过特定大小限制的邮件。MTA 以各个通道为基础提供了实施此类限制的功能。大于所设置的限制的邮件将被自动分割(分段)成多个较小的邮件。用于这种分段的内容类型为 message/partial,并添加唯一的 ID 参数,以便同一邮件的不同部分可以彼此关联,并在可能的情况下由接收邮件程序自动重新组合。

关键字 maxblocksmaxlines 用于实施大小限制,超过此限制时将激活自动分段功能。这两个关键字后面都必须跟一个整数值。关键字 maxblocks 指定邮件中允许的最大块数。MTA 块通常为 1024 字节,可以使用 MTA 选项文件中的 BLOCK_SIZE 选项对其进行更改。关键字 maxlines 指定邮件中允许的最大行数。如果必要,可以同时实施上述两个限制。

某种程度上,邮件标题也包含在邮件大小中。由于不能将邮件标题分割成多个邮件,但是标题本身有可能超过指定的大小限制,因此使用一种相当复杂的机制来解释邮件标题大小。该逻辑由 MTA 选项文件中的 MAX_HEADER_BLOCK_USEMAX_HEADER_LINE_USE 选项控制。

MAX_HEADER_BLOCK_USE 用于指定 0 和 1 之间的一个实数。默认值为 0.5。在邮件可以使用的总块数(由 maxblocks 关键字指定)中,邮件标题可以占用该比例的块数。如果邮件标题大于该值,MTA 将以 MAX_HEADER_BLOCK_USEmaxblocks 的乘积作为 * MAX_HEADER_BLOCK_USE 标题的大小(标题大小取实际标题大小和 maxblocks 中较小的值)。

例如,如果 maxblocks 为 10 且 MAX_HEADER_BLOCK_USE 为默认值 0.5,则所有大于 5 个块的邮件标题将按 5 个块的标题来处理,如果邮件大小等于或小于 5 个块,则不对其进行分段。如果值为 0,将不对标题做任何邮件大小限制方面的处理。

如果值为 1,则标题可以使用所有可用大小。每个分段将始终至少包含一个邮件行,无论这样做是否导致超过大小限制。MAX_HEADER_LINE_USEmaxlines 关键字结合使用的方式与上述相似。