今天折腾中给VPS添加php发邮件功能的时候按照我之前查找到的一篇文章,用msmtp做MTA发邮件,可是实际操作过程中却总是出现发送失败的情况,Google了一下,发现时msmtp配置文件的权限问题,使用mail命令发邮件的时候,是root用户,而使用php发送的时候是www-data用户,因为msmtp设置的是600权限,归root用户所有,所以msmtp读不到它的配置文件就罢工了。

解决办法是另给php使用的msmtp配置一个配置文件,加上www-data的权限就好了。