+ Responder ao Tópico



  1. #1

    Padrão multiplos relay

    oi, pessoas

    estou precisando que meu servidor envie alguns zémail de usuários para servidores externos, do seguinte modo:

    [email protected] ----> vai para smtp.servidor.dominio1.net

    [email protected] ----> vai para smtp.servidor.dominio2.net

    [.. mais alguns ..]

    demais usuários --> direto para o destino, a partir do meu servidor.

    eu já revirei a internet (google) mas as receitinhas informadas não funcionam nem a pau

    alguém tem algum link de algo que funcione MESMO? ou então informações do proprio manual postfix (os exemplos de lá não me serviram)

    grato,

  2. #2

    Padrão

    Nesse caso bastaria usar o transport maps mesmo, não sei se você armazena ele em alguma base de dados, ldap ou arquivo de hash mas basicamente você define o transport do domínio para:

    smtp:smtp.servidor.dominio1.net


    Mais informações:

    # man 5 transport

  3. #3

    Padrão

    (re)lendo a documentação, mais alguns documentos, eu vejo que o transport QUASE atenderia essa necessidade. É que não esclareci de todo o problema - desculpem.

    o fato é o seguinte:

    o usuário AQUI está enviando zémail com dominio diferente do meu, digamos assim:

    o usuário zédascouves tem zémail aquii e TAMBÉM em outro provedor:

    [email protected]
    [email protected]

    então, quando processar o zé[email protected], a entrega é direta - o usuário autentica-se AQUI e tudo vai normal.

    Até ai, nada demais, é normal.

    O bicho pega quando o postfix DAQUI vai processar o zé[email protected]; a maioria dos provedores-destino, hoje em dia, faz verificações diversas, inclusive o reverso. Ora, naturalmente o reverso do dominio.local não é o mesmo do outro.dominio então rejeita.

    então, no resumo:

    [email protected] vai ser enviado para o smtp.outro.dominio.net.br e precisará ser AUTENTICADO LÁ, com senha, essas coisas.

    e é isso que eu não tenho visto nos diversos documentos, ou seja:

    [email protected] --> autentica-se/envia para smtp.dominio1.net.br
    [diversos outros, trocando nomes/dominio]

    ufa!!.. espero ter sido mais claro, desta vez.

    obrigado.

  4. #4

    Padrão

    Pra falar a verdade ficou mais confuso ainda, mas veja bem.

    Definindo o transport map para esse "outro.dominio.net.br" para um smtp externo como eu informei no e-mail anterior, ele vai repassar todas as mensagens que forem destinadas a "outro.dominio.net.br" para o smtp informado, esse irá repassar essa mensagem então para o destino correto (ou local se for o caso), se tiver reverso configurado para esse outro smtp e tudo mais não haverá nenhum problema.

    Outra coisa, se você pretende mandar todos os e-mails através desse outro smtp (exceto os locais) você pode simplesmente setar o "default_transport = smtputroserver.tld" mas para isso deverá liberar o relay no "outroserver" para o seu servidor.

    Agora se você quiser que o "dominioXY" se autentique e envie e-mails através do "outroservidor" porque simplesmente não configura para usar o smtp dele direto? se estiver tudo configurado e padronizado com "smtp.dominio*" então bastaria alterar no dns.


    A[]'s

  5. #5

    Padrão

    "ele vai repassar todas as mensagens que forem destinadas a "outro.dominio.net.br" para o smtp informado,"

    quase isso..

    não é TODO o dominio.. são ALGUNS usuá[email protected] (digamos, uns 5). Os usuá[email protected] não teriam problemas.

    "Agora se você quiser que o "dominioXY" se autentique"

    não.. o usuá[email protected] deve ser autenticado no servidor.outro.dominio, senão (obvio) o servidor.outro.dominio não processa o zémail - nem recebe, na verdade.
    .

    "porque simplesmente não configura para usar o smtp dele direto? "

    porque eu fico SEM logs de envio, então fica complicado provar que, por exemplo, um usuário MEU, usando [email protected], enviou um zémail que o destinatário GARANTE que não recebeu. O usuario cai de pau em cima de mim, ao invés de cair matando no terra (ou seja lá quem for que desencaminhou a mensagem).

    atualmente o [email protected] usa (obvio) o terra.com.br, não tem log, o destinatário nao recebe (ou diz que não) o cliente fala com o terra (suporte) que não suporta coisa alguma e aí.. acaba estourando em mim.

    então o usuario TEM que passar pelo meu postfix, que vai registrar que recebeu o zemail, e que o enviou para os cuidados do terra.com.br e eu fico com horarios e dados suficientes pra PROVAR que não tenho nada a ver com a alegação do usuário final de que "não recebi, não sei.. "

    solução: obrigar o usuario a usar [email protected]? sei.. nem pensar. Não há lei que force isso.

  6. #6

    Padrão

    "
    não é TODO o dominio.. são ALGUNS usuá[email protected] (digamos, uns 5). Os usuá[email protected] não teriam problemas.
    "

    Os Transports trabalham com o destino e não com o remetente, ( Assim que o postfix sabe quando uma mensagem é local ou não, quando não definido um transport ele irá usar o mx, quando definido ele irá utilizar o que foi informado ( por padrão o transport local é o virtual, built-in do postfix ).

    Agora se você quiser que todas as mensagens de "outro.dominio" passem por "outro.servidor" a melhor forma creio que seja você abrir uma nova instância smtp em outra porta ou em outro servidor, no postfix você consegue fazer isso sem precisar executar outra instânce do postfix. E definir como default_transport o "outro.servidor".

    porém.... esse "outro.servidor" tem que permitir que você faça relay, não conheço nenhuma forma de fazer um smtp fazer relay autenticado em outro. Talvez até tenha alguma forma com algum módulo a parte, ou então você mesmo pode desenvolver algo do tipo, inclusive utilizando transports, o único porém seria a autenticação pois após o envio dos dados da mensagem ela não fica mais no servidor então você também teria que executar algo na camada de smtp_client para capturar os dados de login. Até porque o seu servidor teria que trabalhar como um cliente de e-mail.

    Mas mesmo assim a melhor forma ainda seria você ter acesso a relay com esse "outro.servidor" se for o terra dúvido bastante que eles façam isso pra você, talvez se você possuir um domínio hospedado la o papo seja um pouco diferente, ai bastaria colocar o ip do seu servidor em "mynetworks" ou na lista de relay do "outro.servidor".

    Esse tipo de coisa você não irá encontrar na documentação mesmo até porque é algo bem fora do comum.