pcre - 后缀 header_checks 无缘无故失败!(不是操作员)
问题描述
为什么正则表达式!
不起作用?
在我的header_checks
文件中,我得到了
!/^Subject:.*NotBot.*/ REJECT fuck off
在我的 master.cf 中,我使用清理守护进程进行检查
cleanup unix n - n - 0 cleanup
-o header_checks=pcre:/etc/postfix/header_checks
当我通过 telnet 连接到 stmpd 进行测试(Good Subject)时,我得到了这个
220 test.com ESMTP Postfix
HELO www.test.com
MAIL From: <test@test.com>
RCPT To: <test@test.com>
DATA
From: <tester@hahaha.com>
Subject: NotBot123
test250 test.com
250 2.1.0 Ok
250 2.1.5 Ok
354 End data with <CR><LF>.<CR><LF>
.
550 5.7.1 fuck off
但 Bad Subject 也可以
220 example.com ESMTP Postfix
HELO www.example.com
MAIL From: <test@test.com>
RCPT To: <test@test.com>
DATA
From: <tester@hahaha.com>
Subject: hahaha
test250 test.com
250 2.1.0 Ok
250 2.1.5 Ok
354 End data with <CR><LF>.<CR><LF>
.
550 5.7.1 fuck off
解决方案
解决它!很容易..
check_headers 会检查邮件中的每一个信息。所以你只需要使用if/endif
检查Subject:
字段。
if /^Subject:/
!/^Subject:.*NotBot.*/ REJECT fuck off
endif
由于滥用我的开放 stmp 端口,愚蠢的垃圾邮件发送者暂停了我的电子邮件帐户。
推荐阅读
- php - Laravel HTML 无法正确显示
- azure-devops - 在 Azure DevOps 中构建 NuGet 后更新 packages.config
- python - 如何解决 Python 中的 Google Sheet API 错误
- laravel - laravel dompdf 未定义类型 'PDF'
- mysql - django 设置文件中的数据库选项不起作用
- ceph - cephadm:无法将节点添加到 ceph 集群(错误 EINVAL:无法连接到主机)
- javascript - 如何让浏览器检测输入字段值的变化?
- ios - 自定义 tabview 标题栏
- wordpress - 重力形式:在元框中打印条目信息(不只是默认布局显示)
- alibaba-cloud - Harbor 向阿里巴巴 ACR 推送镜像失败