apache — функция 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

Спасибо!

7

Решение

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

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

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

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

0

Другие решения

Я решил эту проблему. Актуальная проблема объясняется здесь 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, Это может отличаться в зависимости от распределения.

0