
Meu empregador me forneceu um endereço de e-mail, [email protected]
. O servidor de e-mail de saída do meu empregador só permite conexões de dentro da rede (como um ISP que insiste que você se conecte através deles para usar o servidor SMTP). Então, quando vou almoçar no café e um e-mail do meu chefe chega no meu telefone, não posso responder até voltar ao escritório. Além disso, não consigo responder e-mails de trabalho quando estou viajando ou trabalhando em campo.
Não tenho permissão para reconfigurar o servidor de e-mail principal, mas tenho um pequeno servidor Postfix separado que posso controlar. Tenho vários domínios virtuais configurados lá e adicionei myemployersdomain.com
como um domínio virtual adicional e [email protected]
como um usuário virtual. Isso funciona, e posso enviar e-mails através deste servidor para qualquer lugar do mundo, EXCETO para outros usuários em myemployersdomain.com (que é tudo que eu realmente quero).
Quando tento enviar para[e-mail protegido]eu recebo
NOQUEUE: rejeitar: RCPT de... 550 5.1.1 ... Endereço do destinatário rejeitado: Usuário desconhecido na tabela de caixa de correio virtual
O servidor Postfix pensa que controla todo myemployersdomain.com e, se eu não configurar um usuário virtual para o destinatário neste domínio, ele não permitirá isso. Posso fazer com que o erro desapareça definindo um alias genérico no arquivo virtual
@myemployersdomain.com [email protected]
mas é claro que todos os e-mails que eu envio voltam direto para mim!
Tentei configurar o arquivo de transporte para retransmitir todos os e-mails de myemployersdomain.com por meio, digamos, do Gmail assim:
example.com :
myemployersdomain.com smtp:[smtp.gmail.com]:587
mas não faz diferença. (A retransmissão funciona conforme esperado para endereços de destinatários em outros domínios (externos), mas para este domínio virtual, o Postfix não permite que você chegue tão longe - o erro 5.1.1 vem primeiro.)
É possível configurar o Postfix para enviar mensagens destinadas a um domínio virtual definido localmente para a grande Internet e deixar o DNS resolver o problema?
Responder1
Se você configurar sua máquina secundária como servidor de backup, precisará de algumas configurações.
relay_domains= myemployersdomain.com
Você também usará o seu transport_maps
assim:
myemployersdomain.com relay:[the.actual.server]
Então você (como diz Falcon) precisaria relay_recipient_maps
de uma entrada curinga ou de uma entrada para você e seu chefe.
Em seguida, eu configuraria a autorização SASL criptografada por TLS e permitiria que apenas usuários autenticados enviassem.
smtpd_relay_restrictions = permit_sasl_authenticated, reject
`
Responder2
O objetivo da parte de domínio do endereço de e-mail é indicar qual conjunto de servidores SMTP é responsável pela entrega de mensagens para todo o domínio. Dito de outra forma: você não pode subdividir domínios dessa forma.
No entanto, parece que o que você realmente quer fazer (além de contornar a política, mas esta é uma questão interessante teoricamente, então estou respondendo de qualquer maneira) é apenasretransmissãocorrespondência.
Nesse caso, você deve retransmitir todos os e-mails que vê,desde que o usuário esteja autenticado. Acredito que você pode configurá-lo para não ter nenhum domínio local. Afinal, presumo que você não queira que seu MTA de retransmissão aceite a entrega de correspondência e, portanto, tenha duas caixas de entrada com o mesmo endereço. Isso seria apenas confuso.
Se você pedir para retransmitir tudo, ele enviará para o que estiver no registro MX do domínio de destino, que acho que é o que você deseja.
A melhor maneira de fazer isso é não definir nenhum domínio local. Essa configuração é comum para MTAs de retransmissão usados para filtragem de vírus e spam, por exemplo.
Lembro-me de haver um recurso chamado relay_recipient_maps
, mas não acho que seja a abordagem correta neste caso de uso.