正则表达式和cPanel帐户过滤

时间:2014-08-21 12:01:18

标签: regex cpanel

经过无数个小时的谷歌搜索并试图联系我的虚拟主机(没有积极的结果)我想jsut'把我的问题抛出那里'并获得更好的专业知识与我的问题。我真的相信,这对很多人也很有帮助,坚持提出同样的问题!

为了简单起见,我们使用cPanel托管了我们的电子邮件解决方案,我有一个很大的要求。基本上,我需要一个帐户级别过滤器来阻止某些邮件地址发送到其他邮件服务器。例如;

  • 让我们说使用example.com
  • user1@example.com可以向任何人发送邮件
  • user2.int@example.com只允许发送邮件到example.com地址,但不允许发送到任何其他地址,例如gmail.com,yahoo.com等。
  • 在帐户级别过滤中给出的选项中,我认为最好使用的是正则表达式。
  • 我怀疑EXIM(cpanel的默认mta)使用类似正则表达式的PCRE,如果我错了,请更正。
  • 我写的并需要帮助的语法如下:

    ^(?!.+\@example\.com$).*$

这样,所有example.com地址都不应该匹配,所有其他地址都应该匹配。

我使用的测试工具是https://www.debuggex.com/

伙计们,请帮忙,让我知道我做错了什么。 cPanel让邮件通过而不是阻止邮件。

1 个答案:

答案 0 :(得分:0)

正则表达式:

^(?![^@]*?@example\.com)

应该做的伎俩

工作原理

  • ^:找到字符串/行的开头
  • (?!...)断言无法找到以下正则表达式:
    • [^@]*?匹配非符号(@
    • 的所有字符
    • @example\.com匹配确切的字符串'@example\.com'

有关更深入的说明,请参阅 this