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

1

OK, percebo que essa pergunta foi feita, mas as questões relacionadas aos meus problemas específicos não foram levantadas.

Basicamente, mal sei o que estou fazendo no servidor, mas preciso configurá-lo para enviar e-mails e não fazer com que eles acabem na pasta de spam. Atualmente, a questão principal que pareço é essa mensagem de erro no meu arquivo mail.log :

error: to submit mail, use the Postfix sendmail command

fatal: the postfix command is reserved for the superuser

No meu arquivo php.ini eu tenho sendmail_path = /usr/sbin/sendmail -t -i

O postfix é configurado com o meu nome de host, quando eu envio e-mails da linha de comando, ele é enviado, então tudo está funcionando lá, mas quando eu estou logado como root, talvez não seja um problema porque Eu tenho acesso. Quando executo o postfix status , recebo o seguinte:

postfix: Postfix is running with backwards-compatible default settings
postfix: See http://www.postfix.org/COMPATIBILITY_README.html for details
postfix: To disable backwards compatibility use "postconf compatibility_level=2" and "postfix reload"
postfix/postfix-script: the Postfix mail system is running: PID: 13198

Estou muito ligado neste projeto e realmente preciso resolver isso rapidamente, mas todos os zilhões de tutoriais diferentes parecem realmente diferentes em como configurar tudo corretamente, ou pelo menos não entendi o que fiz de errado .

Para refazer o replay, o objetivo principal é fazer com que o PHP envie emails para eles quando eu ligar

mail($to, $subject, $msg, $headers);

    
por Vallier 31.07.2018 / 05:29

1 resposta

0

Obrigado @bgtvfr, todos estavam trabalhando quando testei. O envio de mensagens a partir da linha de comando estava funcionando bem, como pretendido.

Os erros que listei do meu mail.log foram causados pelo fato de meu arquivo php.ini não estar configurado corretamente.

Em um ponto eu coloquei sendmail_path = /usr/sbin/posfix e então, enquanto eu tinha mudado de volta para o código acima, apontando para sendmail eu não havia recarregado as configurações do php.ini. Estou executando o Ubuntu com o nginx e php7.0, no entanto, reiniciar o nginx não irá recarregar suas configurações do php, então eu tive que executar o seguinte:

sudo /etc/php7.0/fpm/php.ini restart

Depois de redefinir o valor para sendmail_path = /usr/sbin/sendmail , ele começa a funcionar conforme o esperado.

    
por 31.07.2018 / 20:35