Intereting Posts
Проблема с PHP Xdebug – date.timezone & session.save_path не определено Есть ли способ принудительно выполнить аутентификацию с помощью Zend_Auth? Зачем использовать фреймворк с PHP? Как узнать, вызывается ли страница через Ajax или ее собственный Рабочий пример реализации «Аутентификация на основе токенов» с использованием «JSON Web Token (т.е. JWT)» в PHP и MySQL? Magento: избегайте потери переводов при переписывании контроллеров Невозможно выполнить поиск запросов в таблице MySQL Попросите PHP-скрипт работать навсегда, получить доступ к очереди Почему объект PHP принимает членов, которые упоминались только при вызове? laravel возвращает строку json на локальном компьютере, но целое число на экземпляре экскаватора beanstalk Установка Php-intl на XAMPP для Mac Lion 10.8 Как сделать планировщик как cron в PHP на Windows Server Как проверить, является ли переменная массивом? … или что-то вроде массива Datatables: поиск на стороне сервера (php mysql) Как передать переменные $ _GET из ссылки в bootstrapmodal?

PHP sendmail работает в командной строке Ubuntu, но не из файла php

Я установил 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] 

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

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

  • кли / php.ini
  • CGI / php.ini
  • php.ini

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

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

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

Возможно, ваша система предотвращает отправку почты apache. См. Аналогичный вопрос:

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

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

Посмотрите комментарии на странице man для mail() и это поможет.