2014-04-24 2 views
2

Postfix-mysql 구성에서 부분적으로 catch-all 전자 메일을 만들려고합니다. 정규 표현식에 문제가 있다고 생각합니다.부분 catch-all에 대한 postfix-mysql regexp

나는 (문자와 숫자가 유효) 나는 다음과 같은 이메일 요청을 사용

[email protected] 모든 notify-*@domain.com를 보낼 :

notify-([a-zA-Z0-9])@domain.com 

그러나 모든 시간을 , Postfix는 가상 메일 함 테이블에서 사용자를 알 수 없음을 알려줍니다.

이 내 후위 나는 문제가 이메일 정규 표현식에 생각

virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf, 
mysql:/etc/postfix/mysql_virtual_alias_maps_regexp.cf, 
mysql:/etc/postfix/mysql_alias_domain_maps.cf 

user = postfixadmin 
password = XXXXXXXXXXXX 
hosts = 127.0.0.1 
dbname = postfixadmin 
query = SELECT goto FROM alias WHERE '%s' REGEXP CONCAT('^',address,'$') AND  SUBSTRING(address,1,1) != '@' AND x_regexp = '1' 

/etc/postfix/mysql_virtual_alias_maps_regexp.cf 설정, 로그 파일에 기인하지 오류 및입니다 mysql 데이터베이스는 수정 된 값을 갖는다.

답변

3

나는 완전히 당신의 문제를 이해하는 로봇 확신 해요,하지만 당신은 문자/숫자의 수에 따라, notify-로 시작하는 이메일을 선택하려는 경우, 당신은 사용할 필요가 :

notify-[a-zA-Z0-9][email protected] 

[...]가있다 문자 클래스는 "한 문자, 목록 안에있는 문자"를 의미합니다. 따라서 +으로 반복을 허용해야합니다.

+0

네, 이것이 문제입니다. 지금 일하고 있습니다. – Amador