我正在使用电子邮件服务,该服务使用 cPanel 来管理配置等。
我不想使用基于 Web 的 cPanel 界面来进行电子邮件过滤器,而是想在 cPanel
filter.yaml
文件中编写电子邮件过滤器并上传它们,因为我实际上有数十个要管理的过滤器。
我无权访问我的电子邮件提供商使用的文件系统,我只能使用 cPanel 基于 Web 的过滤规则,或者通过有效的
filter.yaml
文件向我的电子邮件提供商提供这些规则以供他们安装为了我的帐户。
我知道这是一个 YAML 文件,并且我找到了“if”语句的文档以及可在
filter.yaml
中使用的各种适当关键字。但是,有关如何通过该过滤器文件中的 YAML 精确编码此逻辑的所有参考现在都是死链接。这就是为什么我现在在这里问。
这是我希望编码的逻辑示例(伪代码):
IF <sender's address> CONTAINS THE STRING <"webinar">
THEN
STORE THE MESSAGE IN MY FOLDER NAMED "Unwanted"
AND SEND A VALID SMTP REJECTED MESSAGE BACK TO THE SENDER
END IF
我尝试了以下方法,但没有成功。我所说的“不起作用”是指符合条件的传入邮件将被过滤器忽略,它们最终会出现在我的正常收件箱中。这是我尝试过但不起作用的一个示例:
rule0:
if $return_path contains "webinar"
save "Unwanted"
fail "Invalid message"
endif
rule1:
[[ similarly written logic ]]
... etc. ...
有人知道如何在
filter.yaml
文件中正确编码这样的 cPanel 电子邮件过滤规则吗?
提前非常感谢您。
经过一番挖掘,我发现了这个:
https://www.exim.org/exim-html-current/doc/html/spec_html/filter_ch-exim_filter_files.html
我假设 cPanel 过滤器确实是遵循这些规范的 Exim 过滤器。
我在这里一两天都无法接受自己的答案。如果在那段时间里,我发现或被告知这个 Exim 过滤语法不是 cPanel 过滤器中实际使用的语法,那么我将更正或删除这个答案。