PHP mail () não funciona com o Postfix no Ubuntu

5

Eu comprei recentemente um plano VPS. Eu instalei o Ubuntu 9.10, PHP5 e Postfix. Não consigo fazer com que a função mail mail () funcione. No meu script PHP, a função mail () retorna true, o que sugere que está funcionando. Mas ninguém está recebendo e-mails do meu site.

A instalação do postfix parece ter corrido bem quando chamei um sufixo postfix do sudo apt-get install. Chamar um início de /etc/init.d/postfix me deu "Postfix do Agente de Transporte de Correio do Postfix Inicial". Chamar um /etc/init.d/postfix reload deu-me o erro "fatal: o sistema de correio do Postfix não está em execução".

Antes de instalar o postfix, eu estava usando o sendmail, que trabalhava com a função PHP mail ().

Como depuro e corrijo esse problema?

Notas adicionais Eu olhei em /var/log/mail.log e encontrei o seguinte erro toda vez que eu chamei o correio do php ()

Feb  3 11:27:41 mywebsitedomain postfix/postdrop[23793]: warning: unable to look up public/pickup: No such file or directory
    
por John 03.02.2010 / 16:49

1 resposta

6

Ah, resolvi o problema seguindo as informações deste fórum:

link

Basicamente, eu olhei no meu arquivo de erro /var/log/mail.log e encontrei a mensagem de erro "incapaz de procurar público / captador: nenhum arquivo ou diretório desse tipo".

Eu então emiti o comando

sudo mkfifo /var/spool/postfix/public/pickup

Eu me certifiquei de que o sendmail ainda não estava rodando fazendo um ps -aux e matando-o

root@cpu:/var/log# ps aux | grep mail
root      2363  0.0  0.5   9228  1888 ?        Ss   Jan28   0:20 sendmail: MTA: accepting connections          
root     23914  0.0  0.2   3040   792 pts/0    S+   11:33   0:00 grep mail
root@cpu:/var/log# kill 2363

Eu reiniciei o postfix

sudo /etc/init.d/postfix restart

E agora a função de correio PHP funciona.

    
por 03.02.2010 / 17:38