Sieve 脚本

Sieve 是建议的标准邮件过滤语言,它具备可扩展性,且用途十分广泛。SecurityGateway 在其核心功能中大量使用 Sieve 脚本,把 Sieve 作为邮件内容过滤功能的基础,并支持可用于多种目的的定制脚本。SecurityGateway 使用两类脚本,可在 Sieve 脚本页进行管理:

系统生成的—SecurityGateway 的核心功能是由这些脚本实现的。当通过管理界面更改配置时,在 Sieve 脚本页上会相应修改与被更改的选项相关的脚本。这是修改系统生成脚本的唯一方法;它们具有只读属性,因而不能在 Sieve 脚本页上直接编辑。然而,尽管不能对系统生成脚本自身进行编辑,但可使用与列出的每个脚本关联的向上和向下箭头重新排列它们的处理顺序。

管理员定义的—可使用 Sieve 脚本页自行编写定制脚本,Sieve 提供了非常灵活的过滤方法,因而您可定义任意数量的这类脚本以满足特定需求。然而,要编写这些脚本,需要了解有关 SMTP 和使用 Sieve 过滤语言编写脚本的基本应用知识。SecurityGateway 中的 Sieve 应用包括基本语言、多个标准扩展命令和大量定制扩展命令

此处以及编写 Sieve 脚本SecurityGateway Sieve 控制命令页面上提供了有关 Sieve 及其在 SecurityGateway 中使用方式的基本信息,但对该语言本身的完整介绍则超出了本向导的讨论范围。有关 Sieve 的更多信息,应在线查阅 IETF 网站上的权威文档:Sieve: An Email Filtering Language (RFC-5228)Sieve's Copy Extension (RFC 3894)Sieve's Body Extension (RFC-5173)Sieve's Reject Extension (RFC-5429)Sieve's Variables Extension (RFC-5229)Spamtest and VirusTest Extensions (RFC-3685)

Sieve 脚本列表

Sieve 脚本页包含所有系统生成的和管理员定义的脚本列表。该列表包含六个部分:IP、HELO、AUTH、MAIL、RCPT 和 DATA。它们分别对应于 SMTP 处理过程的不同阶段或邮件事件,每个脚本各自罗列在其相关部分中。一次处理一个部分的脚本,按其罗列顺序,首先处理全局脚本,然后处理针对特定域的脚本。通过使用与给定脚本相关联的向上和向下箭头更改该脚本在列表中的位置,可以控制每一部分中的脚本处理顺序。

页面顶部的工具栏包含以下三个选项:

新建

点击“新建”打开“Sieve 脚本编辑器”,用来编写脚本。

编辑

选择一个脚本,然后在工具栏上点击“编辑”,在“Sieve 脚本编辑器”中将其打开。或者,您只需双击脚本即可。系统生成的脚本无法编辑,但仍可在脚本编辑器中将其打开以查看或复制脚本文本并粘贴到新定制规则中。

删除

要删除定制脚本,请在列表中将其选中,然后点击“删除”。随后出现一个对话框,要求您确认删除脚本的决定。系统生成的脚本无法删除。

 

脚本列表有以下五栏:

启用

该栏针对每个所列脚本有一个复选框,选中或清除相应的复选框可快速启用或禁用脚本。使用该选项只能启用或禁用定制脚本。要启用或禁用系统生成的脚本,必须使用界面上对应于该脚本相关功能的控件(即灰名单、IP 防护、贝叶斯自动学习等)。

作用范围

该栏列出脚本的作用范围。范围可以是“全局”或特定域。全局脚本作用于所有邮件。针对特定域的脚本只作用于相关域的邮件。

订购

按照脚本的罗列顺序处理脚本。若想更改顺序,可使用该栏内的向上和向下箭头将其重新排列。

脚本名称

这是用来标识脚本的标题或描述性名称。编写定制脚本时将指定该名称。

脚本

将鼠标悬停在该图标上会看到脚本文本显示在工具提示中。若想更透彻地审核脚本文本,可双击该脚本在 Sieve 脚本编辑器中将其打开。

Sieve 脚本编辑器

每当在 Sieve 脚本页工具栏上点击“新建”或“编辑”按钮时,会打开 Sieve 脚本编辑器。它用来编写新的 Sieve 脚本或编辑现有脚本。使用该编辑器草拟或编辑了脚本后,点击工具栏上的“保存并关闭”按钮保存脚本并返回 Sieve 脚本页。

脚本属性

启用对此脚本的处理

该复选框对应于 Sieve 脚本列表中的“启用”栏。默认情况下,脚本编写后即被启用,表示它们被添加到脚本列表中并在下面指定的“邮件事件”中进行处理。若要禁用脚本,请清除该复选框。禁用时,该脚本仍出现在列表中,但不会随其他脚本一起被处理。此外,不能使用该选项启用或禁用系统生成的脚本。它们的管理必须使用各种接口页面上对应于特定脚本的选项来实现。

脚本名称:

使用该文本框指定脚本的标题或描述性名称。系统生成的脚本无法重命名。

邮件事件:

编写脚本时,使用该下拉列表选择邮件事件或 SMTP 会话阶段作为脚本的处理时机。例如,若编写脚本与邮件收件人进行比较,那么应在该选项中选择 RCPT 或 DATA,因为直到 SMTP 会话的 RCPT 阶段才会获悉邮件收件人。六个邮件事件,按其发生顺序列表如下: IP、HELO、AUTH、MAIL、RCPT 和 DATA。

作用范围:

使用该选项指定脚本的作用范围:全局或域。当选择“全局”时,无论邮件发往哪个域,都对脚本进行处理。当选择“”时,只针对发往指定域的邮件测试脚本。只能在选择上述 RCPT 或 DATA“邮件事件”时才可使用,因为在 SMTP 处理过程该阶段之前不知道收件人所在域。

域:

当选择“”作为脚本的“作用范围”时,会出现该下拉列表。从中选择与该脚本相关联的特定域。

脚本文本:

在此区域,使用 Sieve 邮件过滤语言,输入脚本的实际文本。要获取脚本范例和有关 Sieve 语言的基本信息,请参见: 编写 Sieve 脚本