簡體   English   中英

PHP郵件功能因exim4而失敗

[英]PHP Mail function fails with exim4

Debian Web服務器升級到jessie后,PHP Mail功能失敗。 軟件版本是,

Apache2 : 2.4 
Php : 5.6 
Exim4: 4.8

這個Web服務器有多個網站,我使用libapache2-mpm-itk模塊為不同的用戶為每個網站運行php。 所以沒有使用www-data

嘗試使用php郵件功能發送電子郵件時,我得到以下錯誤。

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

謝謝!

根據錯誤消息

無法設置gid = 33或uid = 0(euid = 0):強制real =有效

可能沒有必要使用root ,第33組(可能是www-data )也應該足夠了。

因此,您應該能夠使用LimitGIDRange 1 9999而不是LimitUIDRange

我已經解決了這個問題。 實際問題在這里解釋https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=797653

解決方案1:

你可以安裝ssmtp Debian apt-get將在安裝ssmtp時刪除exim4 因此,您必須將其配置為使用外部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 這可能因不同的分布而不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM