우리는 PHP를 사용하여 티켓팅 시스템을 구축하고 있습니다. 이제 고객 응답을 식별하는 데 문제가 있습니다.
- 사용자가 삭제할 수 있으므로 주제에 ID를 입력하면 작동하지 않습니다.
- 일부 메일 클라이언트에서는 ID를 제거하기 때문에 사용자 정의 헤더에 ID를 게시하면 작동하지 않습니다.
- 메시지 본문에 코드를 게시하는 것도 제목과 마찬가지로 사용자가 삭제할 수 있기 때문에 작동하지 않습니다.
이메일 주소에 ID를 넣는 것을 고려해 봅시다.t<ticketid>@mydomain.com
하지만 이를 다음으로 리디렉션하는 방법을 잘 모르겠습니다.[email protected]
답변1
+
내 제안은 스타일 하위 주소를 사용하는 것입니다 : support+<ticketid>@mydomain.example
. Postfix는 이러한 메시지를 [email protected]
하위 주소를 무시하고 에 보낸 것처럼 전달합니다 .
Postfix를 사용하면 사용할 다양한 문자를 정의할 수도 있습니다. recipient_delimiter
매개변수를 /etc/postfix/main.cf
원하는 값으로 설정합니다 .
recipient_delimiter = +-
이렇게 하면 [email protected]
, 및 가 [email protected]
두 주소를 모두 동일한 방식으로 처리할 수 있습니다.
recipient_delimiter
일부 Linux 배포판에는 postfix 설정이 함께 제공되므로 +
이미 기본적으로 작동할 수 있습니다.
답변2
virtual_alias_maps[*]를 사용할 수 있습니다:
#virtual_alias_maps = hash:/etc/postfix/aliases
virtual_alias_maps = regexp:/etc/postfix/aliases
그리고 /etc/postfix/aliases를 입력하세요.
/t(.*)@mydomain.com/ [email protected]
/t(.*)@mydomain.com/ support+${1}@mydomain.com
/^(.*)@domain1.com$/ ${1}@domain2.com
그런 다음 명령을 실행하고 virtual.db를 업데이트하십시오.
postmap /etc/postfix/virtual
물론 Ticketid 코드와 정확히 일치하도록(예: 숫자 등) 정규식을 미세 조정하거나 역참조를 사용할 수 있습니다.
[*] postfix에서 가상 도메인을 사용하지 않는 경우 alias_maps를 사용할 수도 있지만 작동 방식이 때때로 혼란스러울 수 있습니다.https://serverfault.com/questions/644306/confused-about-alias-maps-and-virtual-alias-maps그것에 대해