Функция PHP Mail не работает с exim4

Функция PHP Mail не работает после обновления Debian веб-сервер для jessie, Версии программного обеспечения,

Apache2 : 2.4 
Php : 5.6 
Exim4: 4.8

Этот веб-сервер имеет несколько веб-сайтов, и я использую libapache2-mpm-itk модуль для запуска php разными пользователями для каждого сайта. Так www-data не используется

Я получаю ниже ошибку при попытке отправить электронную почту, используя функцию php mail.

unable to set gid=33 or uid=0 (euid=0): forcing real = effective

Путь Sendmail есть,

sendmail_path   /usr/sbin/sendmail -t -i 

и это указывает на exim,

/usr/sbin/sendmail -> exim4

Я нашел решение по http://blog.gaiterjones.com/send-php-mail-ubuntu-upgrade/ и проблема была решена, когда я установил ниже настройки с itk модуль,

LimitUIDRange 0 2000

Но позволяя root пользователь не рекомендуется для общего сервера, как мой.

Есть ли лучшее решение?

РЕДАКТИРОВАТЬ: Я нашел неразрешенный отчет об ошибке этого. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=797653

Спасибо!

2 ответа

Решение

Я решил эту проблему. Актуальная проблема объясняется здесь https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=797653.

Решение 1:

Вы можете установить ssmtp, Debian apt-get удалит exim4 при установке ssmtp, Поэтому вам придется настроить его для использования внешнего сервера SMTP. точка php путь sendmail как sendmail_path /usr/bin/ssmtp -t -i, Это может отличаться в зависимости от распределения.

Решение 2:

Вы можете установить esmtp и настройте его на использование localhost smtp. Увидеть /etc/esmtprc, точка php путь sendmail как sendmail_path /usr/bin/esmtp -t -i, Это может отличаться в зависимости от распределения.

Согласно сообщению об ошибке

невозможно установить gid=33 или uid=0 (euid=0): принудительное выполнение = эффективное

С помощью root скорее всего, не нужно, группа 33 (вероятно, www-data) тоже должно хватить.

Таким образом, вы должны быть в состоянии использовать LimitGIDRange 1 9999 вместо LimitUIDRange,

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