Yas*_*u G 7 php apache debian sendmail exim4
将Debian
Web服务器升级到之后,PHP Mail功能失败jessie
.软件版本是,
Apache2 : 2.4
Php : 5.6
Exim4: 4.8
Run Code Online (Sandbox Code Playgroud)
这个Web服务器有多个网站,我使用libapache2-mpm-itk
模块为不同的用户为每个网站运行php.所以www-data
没用过.
尝试使用php邮件功能发送电子邮件时,我得到以下错误.
unable to set gid=33 or uid=0 (euid=0): forcing real = effective
Run Code Online (Sandbox Code Playgroud)
Sendmail路径是,
sendmail_path /usr/sbin/sendmail -t -i
Run Code Online (Sandbox Code Playgroud)
它指向exim,
/usr/sbin/sendmail -> exim4
Run Code Online (Sandbox Code Playgroud)
我从http://blog.gaiterjones.com/send-php-mail-ubuntu-upgrade/找到了一个解决方案,当我在下面设置itk
模块时,问题解决了,
LimitUIDRange 0 2000
Run Code Online (Sandbox Code Playgroud)
但是root
不建议像我这样允许用户使用共享服务器.
有更好的解决方案吗?
编辑: 我发现了一个未解决的错误报告. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=797653
谢谢!
我已经解决了这个问题。实际问题在这里解释 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=797653。
解决方案一:
您可以安装ssmtp
. Debian在安装时apt-get
会删除。因此,您必须将其配置为使用外部 smtp 服务器。点sendmail路径就好。这可能因不同的发行版而异。exim4
ssmtp
php
sendmail_path /usr/bin/ssmtp -t -i
解决方案2:
您可以安装esmtp
并配置它以使用 localhost smtp。看/etc/esmtprc
。点php
sendmail路径就好sendmail_path /usr/bin/esmtp -t -i
。这可能因不同的发行版而异。
归档时间: |
|
查看次数: |
534 次 |
最近记录: |