O problema não está no Postfix. Antes de instalar o Postfix, seu aplicativo enviava diretamente seu e-mail para um servidor de Envio de SMTP distante, através da Internet. O passo que você perdeu é reconfigurar seu aplicativo . Ainda está saindo para o servidor distante. Você precisa informar sua inscrição, talvez indiretamente, para enviar mensagens localmente.
Se for uma aplicação PHP, por exemplo, o comportamento da função mail()
é controlado pelo opção de configuração sendmail_path
no Unices e no Linux. Provavelmente está apontando atualmente para um programa shim que apenas conecta uma conexão de Envio SMTP e bombeia sua entrada padrão através dela. Você precisa apontar isso para o programa de envio do Postfix, sendmail
, em vez disso.
Provavelmente, isso não está ocorrendo em /usr/bin/sendmail
porque seu programa shim está lá e provavelmente está em /usr/bin/sendmail.postfix
ou em algum lugar semelhante. De fato, se você tiver o sistema "alternativas" /usr/bin/sendmail
será um link simbólico para /etc/alternatives/mta-sendmail
, ele próprio um link simbólico, e você pode ter que redirecionar o segundo.
Por qualquer meio, que envolva detalhes de sua distribuição, aplicativo e configuração que não podemos divinar telepaticamente, você precisa fazer com que seu aplicativo invoque o programa correto. Simplesmente instalar o Postfix não fez essa parte.
Observe que o Postfix está no mesmo campo que o Zmailer, o MMDF e o qmail. O que BillThor escreve em outra resposta aqui é um completo arenque vermelho baseado no Sendmail Think. Sendmail e exim são programas monolíticos que precisam distinguir entre os modos "rápido e não enfileirado" e "lento e enfileirado" devido à maneira como são arquitetados. O programa de envio se transforma em um agente de transporte e não sai até que ele tenha canonizado, roteado e transmitido (ou tentado) a mensagem, o que será um longo tempo no seu caso; ou o programa de envio sempre envia o e-mail para uma fila, onde ele aguarda até que um processo do executador da fila seja ativado, atrasando o intervalo de sondagem do executor da fila (geralmente na ordem de minutos ou horas).
O postfix e o qmail seguem os passos do MMDF, com vários pequenos programas separados realizando um trabalho cada, de acordo com a filosofia Unix. O email é sempre depositado em uma fila. Mas o programa de injeção de fila ( postdrop
no caso do Postfix) aciona um tipo de semáforo ( É um canal nomeado no qmail . ) para ativar o daemon de processamento da fila (um daemon de pré-processamento, pickup
, no caso do Postfix) imediatamente . Para emprestar e modificar um pouco uma citação de Dan Bernstein :
Other MTAs offer a spectrum of delivery modes, from fast+unsafe to slow+queued. The queue daemons in qmail and Postfix are instantly triggered by new items in the queue, so the system has just one delivery mode: fast+queued.
Isso é exatamente o que você quer. Você deseja que o programa sendmail
termine rapidamente, permitindo que seu aplicativo (que aguarda que ele termine) continue e que o processamento da fila seja iniciado imediatamente, mas em paralelo. Postfix, qmail, nullmailer , e assim por diante, darão tudo isso a você. Você apenas precisa corrigir o seu aplicativo para invocar o agente de envio correto.