php mail() não está funcionando

php mail() não está funcionando

acabei de descobrir que a mail()função não está funcionando

estou no Debian, instalei o postfix porque um amigo me disse (embora eu não o tenha configurado).

Quando faço um phpinfo() eu tenho:

sendmail_path   /usr/sbin/sendmail -t -i    /usr/sbin/sendmail -t -i

mas nestes diretórios eu não tenho nada parecidosendmail

Você tem uma ideia do que devo fazer para que mail() funcione?

Obrigado

Responder1

No Unix, a maioria dos programas depende de um MTA (agente de transferência de mensagens) para fazer a transmissão de mensagens. Quando um programa deseja enviar uma mensagem, ele executa /usr/sbin/sendmaile entrega a mensagem inteira em stdin.

O MTA do Sendmail foi o primeiro a funcionar dessa forma (e ainda funciona), e outros MTAs seguem a mesma convenção de fornecer um /usr/sbin/sendmailprograma.

[Nesta resposta, Sendmail é o MTA original e sendmail(minúsculas) é /usr/sbin/sendmail(que vem com todos os MTAs usados ​​atualmente).]

O PHP mail()segue a tradição Unix e apenas passa a mensagem para o sendmailexecutável. O que significa que você precisa de um MTA. Você já instalou o Postfix, o que é bom. no entantofaztem um sendmailbinário, então se você não o tiver /usr/sbin/, então você deve tê-lo instalado em outro lugar - talvez /usr/local/sbin/se compilado a partir do código-fonte?

A reinstalação do Postfix pode resolver o problema. Caso contrário, atualize sua pergunta com detalhes como como você instalou o Postfix.

Se você sendmailestiver em outro lugar que não seja /usr/sbin/, você terá que editar a configuração do PHP -- php.ini. Geralmente está em /etc/php5/, e o Debian temtrêsdaqueles. ( cgi/é para CGI/FCGI genérico, apache2/é para o módulo Apache PHP, cli/é para quando PHP é usado na linha de comando.)

informação relacionada