PHP sendmail работает в командной строке Ubuntu, но не из php-файла - PullRequest
6 голосов
/ 06 июля 2011

Я установил sendmail с PHP и apache на Ubuntu.Когда я пытаюсь выполнить следующую командную строку

php -r "mail('test@gmail.com', 'test', 'test')"'

, она успешно отправляет электронное письмо.

Однако при запуске файла "test_send_mail.php" с:

<?php
mail('test@gmail.com', 'test', 'test')
?>

электронная почта не отправляется.

Неудачная попытка с файлом .php приводит кзапись в журнале:

`Jul  5 21:24:47 www sendmail[25603]: p661OlL7025603: from=www-data, size=106, class=0,

nrcpts = 0, msgid = <201107060124.p661OlL7025603@www.server.com>, relay = www-data @ localhost

Успешная попытка с командной строкойгенерирует запись в журнале:

    Jul  5 21:22:40 www sm-mta[25533]: p661MevV025533: from=<root@www.server.com>, 
size=352, class=0, nrcpts=1, msgid=<201107060122.p661Mecm025532@www.server.com>, 
proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]

Кто-нибудь знает, что может происходить?Спасибо за вашу помощь!

Ответы [ 3 ]

1 голос
/ 14 мая 2012

Возможно, ваша система не позволяет apache отправлять почту.Посмотрите этот похожий вопрос:

https://stackoverflow.com/a/1467900/956397

1 голос
/ 06 июля 2011

PHP Имеет отдельные ini файлы в зависимости от среды:

  • кли / php.ini
  • ИК / php.ini
  • php.ini

Убедитесь, что вы сделали все необходимые изменения во всех файлах, cgi обычно используется для Nginx и Lighttpd, но, чтобы быть уверенным, скопируйте настройки во всех 3 *. 1011 *

Также вы можете запустить функцию phpinfo();, чтобы увидеть, какие настройки фактически используются.

также это может быть прямым исправлением: проблема почты PHP с www-данными

0 голосов
/ 06 июля 2011

Ваша неудачная попытка отправить сообщение электронной почты от имени пользователя веб-сервера.Вы, вероятно, не хотите этого делать.Ключ заключается в том, чтобы передать больше параметров в mail(), чтобы переопределить эти виды значений по умолчанию, когда он передает электронное письмо вашему инжектору.

Посмотрите в комментариях на странице руководства для mail(), и вам будет достаточно помощи для этого.

...