Я могу отправлять письма из оболочки с помощью PHP, но не могу отправить с веб-страницы PHP

Я пытаюсь отправлять письма из контактной формы на странице моего сервера.

Я следил за этим постом .

Мой PHP-файл /var/www/my_project/test.php такой:

<?php
$myemail = "my_mail@gmail.com";
$subject = "my subject";
$message = "my message ";
mail($myemail, $subject, $message);
echo "sent";
?>

Если я запускаю PHP-файл из оболочки:

php /var/www/my_project/test.php

я получаю электронная почта в Gmail, я полагаю, что ssmtp хорошо настроен, верно?

Но если я запускаю PHP из браузера:

http://localhost/my_project/test.php

это не так отправьте письмо, и он создаст этот файл с содержанием электронной почты:

/var/www/dead.letter

Я тоже сделал эти шаги:

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

Любая идея, пожалуйста? Заранее спасибо!

1
задан 13 April 2017 в 15:24

1 ответ

Это Drupal? Тогда вы можете взглянуть на этот пост: https://drupal.org/comment/2032080#comment-2032080

Это может быть связано с разрешениями пользователя. Попробуйте добавить пользователя apache в /etc/mail/virtusertable и заново настроить /etc/mail/virtusertable.db

Sendmail, чтобы он работал с пользователем сервера httpd.

0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: