PHP exim4 邮件功能失败
PHP Mail function fails with exim4
PHP 将我的 Debian
网络服务器升级到 jessie
后邮件功能失败。软件版本是,
Apache2 : 2.4
Php : 5.6
Exim4: 4.8
这个网络服务器有多个网站,我使用 libapache2-mpm-itk
模块来 运行 php 每个网站的不同用户。所以www-data
没有用到。
尝试使用 php 邮件功能发送电子邮件时出现以下错误。
unable to set gid=33 or uid=0 (euid=0): forcing real = effective
发送邮件路径是,
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
谢谢!
根据报错信息
unable to set gid=33 or uid=0 (euid=0): forcing real = effective
可能没有必要使用 root
,第 33 组(可能 www-data
)也应该足够了。
所以你应该可以使用 LimitGIDRange 1 9999
而不是 LimitUIDRange
。
我已经解决了这个问题。实际问题在这里解释 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=797653.
解决方案一:
您可以安装 ssmtp
。 Debian apt-get
将在安装 ssmtp
时删除 exim4
。所以你必须将它配置为使用外部 smtp 服务器。
点php
sendmail 路径喜欢sendmail_path /usr/bin/ssmtp -t -i
。这可能因不同的分布而异。
方案二:
您可以安装 esmtp
并将其配置为使用 localhost smtp。参见 /etc/esmtprc
。点php
sendmail 路径如sendmail_path /usr/bin/esmtp -t -i
。这可能因不同的分布而异。
PHP 将我的 Debian
网络服务器升级到 jessie
后邮件功能失败。软件版本是,
Apache2 : 2.4
Php : 5.6
Exim4: 4.8
这个网络服务器有多个网站,我使用 libapache2-mpm-itk
模块来 运行 php 每个网站的不同用户。所以www-data
没有用到。
尝试使用 php 邮件功能发送电子邮件时出现以下错误。
unable to set gid=33 or uid=0 (euid=0): forcing real = effective
发送邮件路径是,
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
谢谢!
根据报错信息
unable to set gid=33 or uid=0 (euid=0): forcing real = effective
可能没有必要使用 root
,第 33 组(可能 www-data
)也应该足够了。
所以你应该可以使用 LimitGIDRange 1 9999
而不是 LimitUIDRange
。
我已经解决了这个问题。实际问题在这里解释 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=797653.
解决方案一:
您可以安装 ssmtp
。 Debian apt-get
将在安装 ssmtp
时删除 exim4
。所以你必须将它配置为使用外部 smtp 服务器。
点php
sendmail 路径喜欢sendmail_path /usr/bin/ssmtp -t -i
。这可能因不同的分布而异。
方案二:
您可以安装 esmtp
并将其配置为使用 localhost smtp。参见 /etc/esmtprc
。点php
sendmail 路径如sendmail_path /usr/bin/esmtp -t -i
。这可能因不同的分布而异。