Encaminhar o correio do Postfix com base no regexp

3

Estamos construindo um sistema de tickets usando o PHP. Já nos deparamos com o problema de identificar as respostas dos clientes.

  • Colocar um ID no assunto não será feito porque os usuários podem remover isso.
  • A postagem de um ID em um cabeçalho personalizado não será feita porque determinados clientes de email removerão isso.
  • A publicação de um código no corpo do e-mail não será feita porque, assim como no assunto, os usuários podem remover isso.

Pensamos em colocar o id no endereço de e-mail. t<ticketid>@mydomain.com

No entanto, não sabemos ao certo como redirecionar isso para [email protected]

    
por Peter 28.01.2016 / 15:39

2 respostas

2

Meu conselho seria usar os sub-endereços + style: support+<ticketid>@mydomain.example . O Postfix entregará esses e-mails como se fossem enviados para [email protected] , ignorando o subendereço.

O postfix também permite definir um caractere diferente a ser usado. Defina o parâmetro recipient_delimiter no seu /etc/postfix/main.cf para os valores desejados:

recipient_delimiter = +-

Isso permitiria [email protected] e [email protected] , manipular os dois endereços da mesma maneira.

Algumas distribuições do Linux enviam postfix com recipient_delimiter definido como + , então isso pode funcionar imediatamente.

    
por 28.01.2016 / 16:20
2

Você pode usar o virtual_alias_maps [*]:

virtual_alias_maps = regexp:/etc/postfix/aliases

e preencha / etc / postfix / aliases com

/t(.*)@mydomain.com/ [email protected]

você pode, claro, ajustar a regex para corresponder exatamente ao seu código de ticket (ou seja, apenas números etc.) ou usar referências anteriores.

[*] se você não usa nenhum domínio virtual no postfix, você também pode usar o alias_maps, mas como isso funciona às vezes pode ser confuso, leia link sobre isso

    
por 28.01.2016 / 16:39

Tags