2012-09-14 2 views
-2

[email protected]과 같은 스팸이 많이 발생합니다.정규 표현식을 사용하여 @ 뒤에 4 자, .tld 앞에있는 이메일을 확인하십시오.

나는 cPanel을 볼 수있다. Spam assassin은 regex match를 사용하여 메일을 필터링하는 것을 허용한다.

나는, 닷컴 (.com) 전에 정규식

[email protected] 

또는

[email protected] 

즉, 만 네 글자 @ 다음 형태로 메일을 식별 표현하지만, 을 쓰고 싶어 .co.uk, .co.za 등

+0

그리고 지금까지 무엇을 시도해 봤습니까? =) –

+0

'anylengthofstrring @ abcd.com'에서 오는 모든 스팸이 아닌 것은 무엇입니까? 나는 스팸으로 표시하지 않을 것이다 ** 모든 4 개의 편지 영역에서 오는 **. –

+0

당신은 할 필요가 없습니다; 제한된 점수 (예 : 1)로 규칙을 만들 수 있으며 문제가있는 메시지에 점수를 임계 값 이상으로 올릴 수있는 다른 스팸 표시기가 충분하기를 바랍니다. 이것은 SpamAssassin의 작동 원리입니다. – tripleee

답변

0

다음을 시도해보십시오.

[^@][email protected][a-zA-Z]{4}\.(com|co\.uk|co\.za) 

설명 : 당신이 어떤 최상위 수준 도메인을 일치 시키려면

[^@][email protected]    # One or more characters except @ followed by @ 
[a-zA-Z]{4}   # Matches 4 characters in the range A-Z and a-z 
\.(com|co\.uk|co\.za) # Matches .com, .co.uk, and .co.za 

, 대체 .*(com|co\.uk|co\.za) (I 그래서, 당신은 이러한 전자 메일을 수신하기 때문에, 당신은 이미 그들이 유효 알고 있으리라 믿고있어 TLD를 확인할 필요가 없음).

또한 현재 기준에 따라 [email protected]의 스팸으로 간주 할 수 있습니다. 원하는 내용 일 수도 있고 아닐 수도 있습니다.

+0

3 개 이상의 최상위 도메인의 가능성을 고려해보십시오. =) –

+0

@ J.Steen : 그렇습니다.하지만 OP는 그것들을 일치시키고 싶지 않습니다. 나는 그가이 * 3 개의 도메인을 * 스팸 *으로 간주한다고 가정합니다. –

+0

OP는 "etc"라고 말했으므로 그는 그 이상의 최상위 도메인을 의미한다고 생각합니다. 어쨌든 그것을 고려하십시오. –

0

그래서 at 기호 뒤에 4 개의 점이 아닌 문자와 점을 일치 시키시겠습니까? 이 사양은 쉽게 정규 표현식으로 변환됩니다.

@[^.]{4}\. 
+0

고마워요. 계획은 이러한 메일을 필터링 할 수 있는지 확인한 다음 필터가 일치하는 '실제'메일을 잡도록 확인하는 것입니다. –