regex - 如何在 smtp-gate 中仅接受来自一个域的邮件?

标签 regex perl email

我需要一个与 Perl 兼容的正则表达式来使用 smtp-gate 过滤我的电子邮件。我只想允许一个域(“mydomain.com”)并拒绝其他所有域。我该如何以万无一失的方式做到这一点? (regex_reject_mail_from)

我知道这个问题一半属于服务器故障,但基本上它是一个 Perl 正则表达式问题,所以我认为它更适合 stackoverflow。

编辑:

这应该匹配,这样我就可以拒绝它:

"Someone" <<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c4b7aba9a1abaaa184b7aba9a1a0aba9a5adaaeaa7aba9" rel="noreferrer noopener nofollow">[email protected]</a>>

这不应该匹配:

"Me" <<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="503d35103d29343f3d31393e7e333f3d" rel="noreferrer noopener nofollow">[email protected]</a>>

这也不应该匹配:

<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="87fee8f2c7eafee3e8eae6eee9a9e4e8ea" rel="noreferrer noopener nofollow">[email protected]</a>

-

最佳答案

我建议如下:

\b[A-Z0-9._%+-]+@(?!mydomain\.com)[A-Z0-9.-]+\.[A-Z]{2,6}\b

使用/i 选项使其不区分大小写。

这将匹配 @ 后没有 mydomain.com 的大多数有效(和一些无效)电子邮件地址。请记住,使用正则表达式进行电子邮件验证很困难。

关于regex - 如何在 smtp-gate 中仅接受来自一个域的邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1678922/

相关文章:

mysql - Perl 代码始终连接到同一个 MySQL 数据库,尽管它被配置为连接到不同的服务器

mysql - 获取最后插入的mysql行的id

Android:注册 Intent Filter 以使用我的应用程序打开电子邮件附件

php - 正则表达式,贪婪 |

arrays - 如何将来自Perl正则表达式的捕获存储到单独的变量中?

r - 如何动态获取关键字周围的单词?

mysql - 为什么当我构建 Mysql 查询时我的变量不能正确插入?

ios - 使用正则表达式检查 Double 值是否具有某种格式

php - WooCommerce Hook before "New Order"- 邮件已发送

javascript - 检测客户信息Javascript/Jquery