如何在 cPanel 中创建电子邮件筛选器
电子邮件筛选器是一组规则,cPanel 会根据这些规则对来信进行处理:将其移动到所需文件夹、转发到其他地址或者直接拒绝。筛选标准可以是特定的发件人地址,或者是邮件主题中的关键词。使用筛选器有助于保持收件箱整洁,并节省手动分类邮件的时间。
如何创建筛选器
在 cPanel 主页找到“电子邮件”版块,并打开“电子邮件筛选器” (Email Filters) 应用程序。
在“分用户筛选器”表格中,找到所需的邮箱行,并点击“管理筛选器” (Manage Filters)。
点击“创建新筛选器” (Create a New Filter) 按钮以打开筛选器创建向导。
第 1 步:设置名称
构思一个能反映筛选器用途的简短名称,例如“财务邮件”或“人事”。您也可以在筛选器名称中使用主题中用于分类的重复文本。
第 2 步:创建规则
电子邮件筛选器的规则由三个组件组成:
- 准则 —— 确定规则应应用于来信的哪些元素,例如发件人地址、主题词或邮件正文。
- 条件 —— 确定准则必须满足什么要求才能触发规则,例如指定单词必须严格位于主题开头、结尾或任何位置。
- 值 —— 确定哪些文本、电子邮件地址或数字应符合指定的条件。
配置所需的准则、条件和值来创建筛选器规则。
以下电子邮件筛选器准则可以从左侧下拉列表中选择:
- 发件人 (From) —— 发件人的电子邮件地址;
- 主题 (Subject) —— 邮件的主题;
- 收件人 (To) —— “收件人”字段中的电子邮件地址(不包括抄送地址);
- 任何收件人 (Any Recipient) —— 邮件的任何收件人;
- 回复 (Reply) —— 发件人接收回复的电子邮件地址;
- 邮件正文 (Body) —— 邮件的内容;
- 任何标头 (Any Header) —— 邮件标头的任何部分,包括 To, From, Envelope-To, Content-Type 字段;
- 此前未递送 (Has not been previously delivered) —— 规则仅应用于排队等待递送的邮件;
- 错误消息 (Is an error message) —— 规则仅应用于系统自动发送的错误消息;
- 列表 ID (List ID) —— 邮件列表编号;
- 垃圾邮件状态 (Spam Status) —— 来信是否被 Apache SpamAssassin™ 标记为垃圾邮件;
- 垃圾邮件栏 (Spam Bar) —— Apache SpamAssassin™ 为邮件生成的 Spam Bar 标头内容;
- 垃圾邮件评分 (Spam Score) —— SpamAssassin 为邮件分配的“+”符号数量。
电子邮件筛选器的条件位于右侧下拉列表中,其对应含义如下:
- contains (包含)
- matches regex (匹配正则表达式)
- does not contain (不包含)
- equals (完全匹配)
- begins with (开头为)
- ends with (结尾为)
- does not begin (开头不为)
- does not end with (结尾不为)
- does not match (不完全匹配)
此外,还有四个仅适用于“垃圾邮件评分”准则的条件。其翻译如下:
- is above - 大于;
- is not above - 不大于;
- is below - 小于;
- is not below - 不小于。
这些条件的值只能包含数字,表示 SpamAssassin 为消息分配的“+”符号数量。数值越高,消息被标记为垃圾邮件的可能性就越大。

第 3 步:选择操作
当满足规则条件时,cPanel 可以执行以下操作:
拒绝消息 (Discard Message) - 系统将拒绝邮件且不通知发件人。发件人不会知道其消息未送达。
重新定向到地址 (Redirect to Email) - 系统将消息转发到指定的电子邮件地址,不保留原件。如果您需要保留副本并转发,需要添加额外的“交付到文件夹”操作并选择“收件箱”文件夹。
失败并显示消息 (Fail with Message) - 系统将拒绝消息并发送错误通知。
停止处理规则 (Stop Processing Rules) - 系统将停止执行后续规则,且不再为此消息应用其他筛选器。
交付到文件夹 (Deliver to Folder) - 系统将消息放入您邮箱中的指定文件夹。
管道传输到程序 (Pipe to a Program) - 系统将处理消息并使用指定脚本将其传递给另一个程序。例如,可以将客户邮件传递到工单系统。
脚本路径必须相对于家目录 (home)。例如,要使用 /home/username/script.pl 脚本,在选择此操作后出现的字段中输入 script.pl 即可。

多个规则和操作
您可以在筛选器中添加多个规则或操作。为此,请点击屏幕右侧的“+”号。
建议创建多个简单的筛选器,而不是一个复杂的筛选器。邮件服务器处理简短规则的效率比处理长规则更高。

当选择多个规则时,每个规则前会出现一个额外的逻辑条件:
OR (或者) - 如果满足前一个规则或后一个规则,则执行操作。
AND (并且) - 只有当同时满足前一个和后一个规则时,才会执行操作。系统处理 AND 条件的优先级高于 OR。例如:
系统将按以下顺序处理规则 1 或 2 以及 3:1 OR (2 AND 3)。
系统将按以下顺序处理规则 1 和 2 以及 或 3:(1 AND 2) OR 3。

如何使用电子邮件筛选器
要管理电子邮件筛选器,必须进入邮件服务器的相应版块并选择所需的邮箱。点击“管理筛选器”按钮即可访问当前筛选器并进行测试。

如何编辑筛选器
要编辑筛选器,请在“当前筛选器”表格中找到它并选择“编辑” (Edit)。修改您需要的参数,然后点击“保存” (Save) 按钮保存更改。

如何删除筛选器
要删除筛选器,请在“当前筛选器”表格中找到它并选择“删除” (Delete)。在下一页确认删除。

如何测试筛选器
可以使用“筛选器测试”块来检查筛选器的运行情况。在“收件人”、“发件人”和“主题”字段中输入值,以及用于测试的邮件正文,然后点击“测试筛选器” (Test Filter)。
假设您有一条规则,将所有主题为“新订单”的邮件放入“订单”文件夹。要测试筛选器,请在“主题”字段输入“新订单”并点击“测试筛选器”。测试结果将显示在下一页。
Sub-condition is false: not first_delivery Condition is false: not first_delivery and error_message Condition is true: $header_subject: contains 新订单 Return-path copied from sender Sender = username@uashared05.twinservers.net Recipient = username@uashared05.twinservers.net Testing Exim filter file "/home/username/etc/vashdomen.com/admin/filter" Headers charset "UTF-8" Deliver message to: "username+Archive"@uashared05.twinservers.net Filtering set up at least one significant delivery or other action. No other deliveries will occur.
电子邮件筛选器测试结果中包含以下信息:
- 筛选器中的每个条件,并注明其是否成功执行 (true) 或未执行 (false)。
- 消息的发件人地址 (sender) 和收件人地址 (recipient)。
- 服务器上筛选器文件的路径。
- 消息标头的字符集。
- 有关消息递送变更的信息或常规递送确认。
- Filtering did not set up a significant delivery. Normal delivery will occur. - 系统将正常递送消息。
- Filtering set up at least one significant delivery or other action. No other deliveries will occur. - 系统将消息递送到另一个邮箱/文件夹,或者不会进行递送。
接下来做什么?
希望您已成功设置电子邮件筛选器,现在您邮箱中的邮件将有序地分类到相应文件夹。电子邮件处理的后续步骤可能是 设置自动回复 或配置来信转发。
如果您遇到任何问题或有其他疑问,请随时在文章下方留言。我们将尽力为您提供帮助。