Perl表达式可阻止电子邮件

时间:2019-11-13 20:22:45

标签: perl

在我开始之前:我有0个线索,请问Perl是什么,所以请不要“杀死”我;) 我要问的是基于CPanel上有关我的域/托管的信息(我不是开发人员或其他任何人)

因此,在我的CPanel上,我具有称为“ Box Trapper”的此功能,可以将电子邮件列入白名单和黑名单。 他们说,为了阻止我来自特定域的电子邮件,我应该使用以下命令:

来自。+ @ gapot.stream (这样可以阻止来自@ gapot.stream

的所有电子邮件

现在我的问题是:如果我想阻止所有以 .stream 结尾的电子邮件,无论开头是“ gapot”还是其他,例如:

@ name1.stream @ name2.stream 以及以.stream结尾的任何组合都是被阻止

希望这是有道理的,这里有人可以帮助我(不必太技术性,因为我不会理解)

谢谢:)

1 个答案:

答案 0 :(得分:0)

好吧,我建议您在 regex 上进行阅读-您将拥有一个漂亮的工具

正则表达式中的内容:[最低要求]

. - any symbol
+ - 1 or more  (repeats)
* - 0 or more  (repeats)
{1,8} - 1 to 8 (repeats)
? - stop symbol (none greedy match)

现在,您的正则表达式将为.+@.+\.stream ::任何符号后跟“ @”,后跟任何符号,然后是“。”。并以“ stream”结尾。当您引用电子邮件时,“ @”是模式的关键元素。

perl代码示例

use strict;
use warnings;

use Data::Dumper;

my $debug = 0;

while( <DATA> ) {
    print if /.+@.+\.stream/;
}

__DATA__
user1@subdomain1.stream
user2@subdomain2.stream
user3@sub.sub.domain.stream
user4@sub.domain.com
user5@sub.domain.org
user6@sub.sub.domain.net

为更好地理解 regex ,请阅读以下chapter