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_maps
a 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_maps
arquivo adicione o mapeamento desejado:
[email protected] [email protected]
[email protected] [email protected]
Então corra:
postmap /etc/postfix/bcc_maps
E reinicie o Postfix.
- 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_access
reinicie 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