PHP mail () congelamento de função

3

Eu tive um problema em que as permissões de / var / lib / php / session foram sobrescritas, então não consegui mais criar variáveis de sessão no PHP.

Eu acho que a mesma coisa está acontecendo com a minha função de e-mail. Onde está a função mail localizada em um servidor linux para que eu possa chmod it?

Editar

Algumas informações adicionais:

$ "This is a test" | mail -s "Testing 123" [email protected]
-bash: This is a test: command not found
Null message body; hope that's ok
postdrop: warning: mail_queue_enter: create file maildrop/111989.3781: Permission denied
postdrop: warning: mail_queue_enter: create file maildrop/112524.3781: Permission denied
postdrop: warning: mail_queue_enter: create file maildrop/113649.3781: Permission denied
postdrop: warning: mail_queue_enter: create file maildrop/114574.3781: Permission denied
postdrop: warning: mail_queue_enter: create file maildrop/115551.3781: Permission denied

chmod: changing permissions of '/usr/sbin/sendmail.postfix': Operation not permitted

chmod: changing permissions of '/usr/sbin/sendmail': Operation not permitted
    
por Steve Robbins 21.09.2011 / 00:20

3 respostas

3

A função mail () faz muitas coisas diferentes dependendo de como você configura . Você poderia estar apontando para um servidor SMTP externo, por exemplo, se esse for o caso, então não há nada em seu sistema local para tocar.

Se você não alterou o padrão, você está executando algum agente de transferência de e-mail no seu sistema, mas há um grande número de possibilidades. Você está realmente executando o sendmail, ou está apenas executando alguma ferramenta que tem um binário compatível com o sendmail? Eu acredito que o Postfix é o MTA padrão no Centos. Infelizmente, não sei ao certo quais são as pastas de spool e quais devem ser as permissões padrão.

Se ninguém mais responder com os detalhes, sugiro que você configure rapidamente uma máquina virtual semelhante ao seu sistema principal e simplesmente compare e repare as permissões.

De um shell de linha de comando, você também pode testar coisas. Basta executar um comando como echo 'test' | sendmail [email protected] .

    
por 21.09.2011 / 00:57
2

Verifique a variável sendmail_path no seu arquivo php.ini (por padrão: / usr / sbin / sendmail), que será usado pela função php mail ().

    
por 21.09.2011 / 00:57
2

# /etc/postfix/post-install set-permissions

    
por 21.09.2011 / 20:44