本节说明了设置邮件大小限制、用户配额和权限的关键字。其中包含以下各节:
断开会话连接之前,此关键字可以用于对允许在会话中进行的不成功验证尝试的次数进行限制。此选项的默认值为 3。
关键字:blocklimit、noblocklimit、linelimit、nolinelimit、sourceblocklimit
尽管分段功能可以自动将邮件分成较小的部分,但某些情况下应该拒绝大于某个出于管理目的定义的限制的邮件(例如为了避免对服务拒绝的攻击)。
关键字 blocklimit、linelimit 和 sourceblocklimit 用于实施绝对大小限制。上述所有关键字后面都必须跟一个整数值。
关键字 blocklimit 指定邮件中允许的最大块数。MTA 拒绝将块数大于该值的邮件在通道排队的尝试。MTA 块通常为 1024 字节,可以使用 MTA 选项文件中的 BLOCK_SIZE 选项对其进行更改。
关键字 sourceblocklimit 指定外来邮件中允许的最大块数。MTA 拒绝向通道提交块数大于该值的邮件的尝试。也就是说,blocklimit 应用于目标通道,而 sourceblocklimit 应用于源通道。MTA 块通常为 1024 字节,可以使用 MTA 选项文件中的 BLOCK_SIZE 选项对其进行更改。
也可以根据每个发件人来指定源块限制,方法是:使用 MTA 选项 LDAP_SOURCEBLOCKLIMIT 指定用户 LDAP 属性并将此属性添加到发件人 LDAP 条目。还可以基于发件人域来支持源块限制。用 MTA 选项 LDAP_DOMAIN_ATTR_SOURCEBLOCKLIMIT 指定域 LDAP 属性,并将此属性添加到发件人的域 LDAP 条目。这些值都没有默认值。
关键字 linelimit 指定邮件中允许的最大行数。MTA 拒绝将行数大于该值的邮件在通道排队的尝试。如果必要,可以同时实施关键字 blocklimit 和 linelimit。
MTA 选项 LINE_LIMIT 和 BLOCK_LIMIT 可用于在所有通道中实施相似的限制。这些限制的优点是可以应用于所有通道。因此,MTA 服务器可以在获取邮件收件人信息之前使邮件客户机了解这些限制。这就简化了某些协议中的邮件拒绝进程。
通道关键字 nolinelimit 和 noblocklimit 是默认设置,表示除了通过 MTA 选项 LINE_LIMIT 或 BLOCK_LIMIT 实施的全局限制外,不实施任何限制。
关键字:alternatechannel、alternateblocklimit、alternatelinelimit、alternaterecipientlimit
MTA 可以将超过指定的收件人数量限制、邮件大小限制或邮件行数限制的邮件重新定向到备用目标通道。可以通过设置能置于任意目标通道中的以下通道关键字实现此功能:alternatechannel、alternateblocklimit、alternatelinelimit 和 alternaterecipientlimit。alternatechannel 关键字使用一个参数,指定要使用的备用通道的名称。其他每个关键字都接受整数参数,指定一个相应的阈值。超过上述任意阈值的邮件将被加入备用通道(而不是原来的目标通道)队列中。
在以下的通道块示例中,超过 5000 块的大型邮件本来应该通过 tcp_local 通道进入 Internet,现在却通过 tcp_big 通道进入 Internet:
tcp_local smtp ...other keywords... alternatechannel tcp_big alternateblocklimit 5 tcp-daemon tcp_big smtp ...rest of keywords... tcp-big-daemon |
以下示例说明了如何使用 alternate* 通道关键字:
如果要延迟传送大型邮件或在非高峰时间传送大型邮件,可以控制 alternatechannel(例如 tcp_big)的运行时间。
一种方法是使用 imsimta qm 实用程序的 STOP channel_name 和 START channel_name 命令,通过自己的自定义周期性作业(由作业控制器运行)或通过 cron 作业定期执行这些命令。
如果要让作业控制器处理大型邮件或自身的池中有很多收件人的邮件,也可以使用 alternatechannel。
您可以将小型邮件或收件人较少的邮件与大型邮件或有很多收件人的邮件分开,因为远程 SMTP 服务器处理和接收后者将花费较长时间;您可能不愿意让大型邮件延迟小型邮件的传送。
请注意,大多数配置中都可以接受作业控制器的常规邮件调度以及将邮件指定到线程和进程。
如果要为大型邮件或有很多收件人的邮件设置特殊的 TCP/IP 通道超时值,则可以使用 alternatechannel。
尤其是,如果要将邮件发送给远程主机,则设置特殊的 TCP/IP 通道超时值会很有用,因为远程主机接收大型邮件或有很多收件人的邮件会花费大量时间。
请注意,对于大多数配置,默认的自动超时调整应该已经足够。至多您可能希望对默认值进行调整,不使用某个特殊通道。有关详细信息,请参见 《Sun Java System Messaging Server 6 2005Q4 Administration Reference》 中的 STATUS_DATA_RECV_PER_ADDR_TIME 和 STATUS_DATA_RECV_PER_BLOCK_TIME 通道选项。
如果要对特别大的邮件进行特殊的 MIME 邮件分段处理,则可以将通道关键字 alternatechannel 和 alternateblocklimit 与通道关键字 maxblocks 一起使用。
一般情况下,如果要对超过指定大小的邮件进行分段,应该将所需的 maxblocks 大小置于常规的出站 TCP/IP 通道中。通常 maxblocks 通道关键字既是执行分段的阈值,又是分段的大小。
但是,如果要触发较大的阈值,并使实际分段较小,则可以在出站 TCP/IP 通道中使用 alternatechannel 和 alternateblocklimit。然后可以在备用通道中使用 maxblock 大小,对超过特定大小的邮件进行分段。
可以将 alternatechannel 与特殊的过滤功能结合使用。例如,可能需要对有很多收件人的邮件的内容进行更为仔细的检查,以防它是垃圾邮件。您可能希望以外发通道为基础进行不同的过滤(请参见指定邮箱过滤器文件位置中的 destinationfilter 通道关键字)。
如果通过转换通道执行相对资源密集的扫描(例如病毒过滤),非常的大邮件可能会有资源问题。您可能希望使用备用转换通道。或者,您可能希望基于外发通道在常规转换通道中执行特殊的转换过程。
如果希望大型外发邮件离开其自己的通道,则可以使用 alternatechannel,以便在分析 mail.log* 文件时或在计数器显示中突出这些大型邮件。
而且,如果试图对传送统计进行仔细分析,则在大型邮件自己的通道内对其进行处理会很有用。这是因为发送给远程 SMTP 主机的大型邮件或有很多收件人的邮件可能会花费较长时间才能完成处理,因此为大型邮件创建的传送统计不同于一般邮件。
关键字 noexquota 和 holdexquota 控制发送给 Berkeley 邮箱用户 (UNIX) 的邮件的处理,即传送到 uid 本地通道且超过其磁盘配额的用户。
noexquota 通知 MTA 将发送给超过配额用户的邮件返回邮件的发件人。holdexquota 通知 MTA 保留发送给超过配额用户的邮件,该邮件将保留在 MTA 队列中,直到可以被传送,或邮件超时并由邮件返回作业返回给发件人。
关键字:rejectsmtplonglines、wrapsmtplonglines、truncatesmtplonglines
rejectsmtplonglines 添加拒收邮件选项,拒绝包含字符数超过 1000 个(包括 CRLF)的行(SMTP 中允许这种行)的邮件。此区域中的其他选项包括 wrapsmtplonglines(将过长的行自动换行)和默认的 truncatesmtplonglines(将过长的行截断)。这两个关键字均必须应用到用于提交的初始通道(例如 tcp_local)。它不会影响后续切换到的任何通道。
关键字:parameterlengthlimit 和 nameparameterlengthlimit
parameterlengthlimit 控制通用 content-type 参数和 content-disposition 参数的截断点。默认值为 1024。nameparameterlengthlimit 控制 name content-type 参数和 filename content-disposition 参数的截断点。默认值为 128。请注意,除非正在对邮件进行 MIME 处理,否则将仅处理最外层邮件标题。可以用各种方法启用 MIME 处理,包括(但不限于)inner 关键字或字符集转换的使用。
关键字:recipientlimit 和 recipientcutoff
recipientlimit 指定邮件可接受的收件人地址总数。recipientcutoff 将提交给 MTA 的收件人总数与指定值相比较。如果超过限制值,则不会接受邮件进行传送。两个关键字均接受整数参数。如果未指定相应的通道关键字,则两者的默认值均为无穷大。
也可以针对发件人或发件人域设置收件人限制。可通过使用相应的 MTA 选项指定用户或域 LDAP 属性来完成此操作:LDAP_RECIPIENTLIMIT、LDAP_RECIPIENTCUTOFF、LDAP_DOMAIN_ATTR_RECIPIENTLIMIT、LDAP_DOMAIN_ATTR_RECIPIENTCUTOFF,并将属性添加到发件人的用户条目或域条目。
对主(最外层)邮件标题的最大值强加限制。当主邮件标题达到限制时将被截断并且不会出现提示。如果已设置全局 MTA 选项 HEADER_LIMIT,该选项将覆盖此通道级别的限制。默认值为没有限制。