我使用以下代码在我的邮件服务器上过滤垃圾邮件:
if 822field from | grep -qiFf "/email_filters/from.txt"; then exit 99; fi
还有:
if 822field subject | grep -qiFf "email_filters/bad_subject.txt"; then exit 99; fi
在上述两个文件中,我有SPAM电子邮件来源和主题(例如辉瑞,cialis,伟哥等)的列表,每个都在文本文件中的各个行中。
如何在文件中包含通配符?例如,我最近开始收到假的美国邮政服务通知 status_38@unikmetal.ru“,所以我想阻止”@ _ .ru“。
答案 0 :(得分:1)
将-F
添加到grep时,它会处理固定字符串而不是正则表达式。要使用通配符,我必须使用正则表达式。
删除-F
命令
grep
grep -qif "/email_filters/from.txt"
要阻止您的俄语电子邮件地址,您可以在过滤器中添加类似的内容
@.*\.ru
解释
@ - match '@' character literally
.* - match any character 0 or more times
\. - match '.' literally
ru - match 'ru' literally