Como posso reescrever o endereço De: de um e-mail e reenviá-lo?

1

Eu tenho uma conta de hospedagem na web do cPanel. Nesta conta, eu tenho um sistema de suporte / registro de problemas baseado em PHP para uso dos meus clientes. Gostaria de enviar um e-mail para meu cliente e para o sistema de ingresso, mas o e-mail que chega ao sistema de tickets parece vir de meu cliente, para que o tíquete de suporte que é criado aparece sob sua conta.

Então, o que eu quero fazer é criar um endereço de e-mail [email protected] que seja canalizado para um comando unix ou shell script. Isso significa que, quando eu enviar um email de [email protected] para [email protected] e CC [email protected] , o script de shell deverá reenviar o email para [email protected] , mas reenvie o email do endereço Para: do e-mail .

Existe alguma maneira de criar um script de shell que aceite um email em stdin, reescreva o endereço De: e reenvie o email para um novo endereço? O Procmail pode fazer algo assim? Ou terei que codificar isso sozinho?

    
por Josh 02.05.2012 / 22:03

2 respostas

3

O Procmail vem com o formail comando para manipular cabeçalhos de e-mail. O procmailex contém exemplos de usos em .procmailrc . Isso deve fazer o que você quer (não testado):

formail -R To: From: -U From: -I Cc: -I 'To: [email protected]'
    
por 03.05.2012 / 03:14
1

A resposta de Gilles estava quase lá, mas por alguma razão eu tive que passar por formail duas vezes . Além disso, eu precisava enviar a correspondência depois de reescrever os cabeçalhos. Aqui está o que eu fiz para fazer tudo isso funcionar:

  1. Eu criei um novo arquivo ~/bin/resend-support contendo:

    #!/bin/bash
    
    /usr/bin/formail -R To: From: | \
      /usr/bin/formail -U From: -I Cc: -I 'To: [email protected]' | \
      /usr/sbin/sendmail -oi -t
    
  2. Eu fiz o arquivo executável ( chmod +x ~/bin/resend-support )

  3. No cPanel, criei um encaminhador de endereço de e-mail [email protected] que direcionou para ~/bin/resend-support (usando "Pipe para um programa" em "Avançado")

Agora, quando eu enviar um e-mail para [email protected] e CC [email protected] , ele será canalizado para ~/bin/resend-support , que reenvia o e-mail para [email protected] de [email protected]

    
por 03.05.2012 / 15:16