PHPMailer 發不出去,查了一下log,才發現可能是SELinux作怪。
我在「適當管控Linux安全核心-selinux」這篇文章中找到以下敘述:
基於安全考量selinux 的權限層次將高於root 因此會發生某些行為模式的限制,例如 http協定精靈能否寄信,或http協定精靈中能否連接網路的控制。
其中預設透過http協定精靈能否寄信這種行為模式是不允許的 因此透過網站發送信件會發生:, 寄信卻沒收到信 追查/var/log/maillog 則出現: selinux 導致的 postfix/sendmail: fatal: chdir /var/spool/postfix Permission denied 這個並非目錄權限設定不當,而是在行為模式層次(即selinux)系統預設的安全管制。
因此,我只要把SELinux 做調整就好囉。
詳細操作方法請大家移駕到原網站,看一下原文。