Eu posso enviar e-mails do shell com PHP, mas não consigo enviar a partir da página da web do PHP

1

Estou tentando enviar e-mails de um formulário de contato em uma página do meu servidor.

Eu segui este post .

Meu arquivo PHP /var/www/my_project/test.php é este:

<?php
$myemail = "[email protected]";
$subject = "my subject";
$message = "my message ";
mail($myemail, $subject, $message);
echo "sent";
?>

Se eu executar o arquivo PHP a partir do shell:

php /var/www/my_project/test.php

Eu recebo o e-mail no Gmail, então, suponho que ssmtp esteja bem configurado, certo?

Mas se eu executar o PHP pelo navegador:

http://localhost/my_project/test.php

ele não envia o e-mail e cria esse arquivo com o conteúdo do e-mail:

/var/www/dead.letter

Também fiz estes passos:

costales@server:~$ sudo cat /etc/php5/apache2/php.ini | grep sendmail
sendmail_path = /usr/sbin/sendmail -t
costales@server:~$ sudo service apache2 reload

costales@server:~$ telnet smtp.gmail.com 587
Trying 173.194.67.109...
Connected to gmail-smtp-msa.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP dm2sm7052263wib.8 - gsmtp

Alguma ideia por favor? Obrigado antecipadamente!

    
por costales 15.01.2014 / 18:36

1 resposta

2

É Drupal? Então você pode dar uma olhada neste post: link

Pode ter a ver com permissões de usuário. Tente adicionar o usuário do apache a /etc/mail/virtusertable e refazer o /etc/mail/virtusertable.db

O Sendmail precisa ser configurado para funcionar com o usuário do servidor httpd.

    
por Óscar Gómez Alcañiz 15.01.2014 / 19:38