Reescrever o endereço de destino com base na autenticação SMTP

Reescrever o endereço de destino com base na autenticação SMTP

Para fins de desenvolvimento queremos configurar um servidor de e-mail (postfix) que direcione todos os e-mails enviados através de uma conta SMTP específica para esta mesma conta.

editar: A correspondência não será mais enviada para o endereço original.

Portanto, criaríamos contas diferentes para projetos diferentes e todas as mensagens de um projeto iriam para uma caixa de correio.

Atualmente usamos esta solução:Reescrever o destinatário de todos os e-mails enviados (exceto um destinatário)

Mas como podemos adaptar isso a diferentes endereços de destino com base na conta SMTP AUTH?

Responder1

Aqui estão duas opções:

1. use sender_bcc_mapsa opção no Postfix.

sender_bcc_maps (padrão: vazio)

Tabelas opcionais de pesquisa de endereços BCC (cópia carbono oculta), indexadas por endereço do remetente. O endereço CCO (resultados múltiplos não são suportados) é adicionado quando o correio entra de fora do Postfix.

Você precisa adicionar o seguinte em /etc/postfix/my.cnf:

sender_bcc_maps = hash:/etc/postfix/bcc_maps

E no /etc/postfix/bcc_mapsarquivo adicione o mapeamento desejado:

[email protected] [email protected]
[email protected] [email protected]

Então corra:

postmap /etc/postfix/bcc_maps

E reinicie o Postfix.

  1. Redirecionamento baseado em remetente

Em main.cf:

smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender_access

e no arquivo sender_access:

from_address@domain redirect new_to_address@anotherdomain.

Então postmap /etc/postfix/sender_accessreinicie o postfix

Responder2

Isso não respondebaseado em autenticação SMTPmas fornece uma solução baseada em suas necessidades.

Eu usei mapas canônicos para isso, configurei um novo vps (centos/ubunbtu qualquer que seja) e então configurei meus sistemas 'dev' para hospedar esta caixa de forma inteligente (dentro da rede, 192.168.0, por exemplo). Você poderia fazer o mesmo com wp-smtp ou outros, usamos o interworx para que um smarthost funcionasse melhor.

[root@mx ~]# cat /etc/postfix/main.conf
  recipient_canonical_classes = envelope_recipient
  recipient_canonical_maps = regexp:/etc/postfix/recipient_canonical_map
  mynetworks = 192.168.0.0/24
  header_checks = regexp:/etc/postfix/header_checks
  relayhost = mailserver.example.com

[root@mx ~]# cat /etc/postfix/header_check
  /^Subject: (.*?)$/ REPLACE Subject: [Dev] $1
[root@mx ~]# cat /etc/postfix/recipient_canonical_map

  /./ [email protected]

*regexp, portanto não há necessidade de mapear os arquivos.

Como este é um ambiente de desenvolvimento, por experiência pessoal eu não sugeriria manipular sua produção para acomodar o desenvolvimento, mas construir sistemas como este para conectar esses sistemas.

http://www.postfix.org/postconf.5.html#recipient_canonical_maps

informação relacionada