我最近购买了VPS计划.我安装了Ubuntu 9.10,PHP5和Postfix.我无法使
PHP mail()函数工作.在我的PHP脚本中,mail()函数返回true,表明它正在工作.但是没有人收到我网站的电子邮件.
当我调用sudo apt-get install postfix时,postfix的安装似乎很顺利.调用/etc/init.d/postfix start给了我“启动Postfix邮件传输代理后缀”.调用/etc/init.d/postfix重新加载给我错误“致命:Postfix邮件系统没有运行”.
在安装postfix之前,我使用的是sendmail,它使用PHP mail()函数.
如何调试和修复此问题?
补充说明
我查看/var/log/mail.log,每次调用PHP的邮件时发现跟随错误()
Feb 3 11:27:41 mywebsitedomain postfix/postdrop[23793]: warning: unable to look up public/pickup: No such file or directory
哦,我按照这个论坛中的信息解决了这个问题:
原文链接:https://www.f2er.com/php/139226.htmlhttp://ubuntuforums.org/showthread.php?t=666018
基本上,我查看了我的/var/log/mail.log错误文件,发现错误消息“无法查找公共/提取:没有这样的文件或目录”.
然后我发出命令
sudo mkfifo /var/spool/postfix/public/pickup
我确保sendmail还没有通过执行ps -aux并杀死它来运行
root@cpu:/var/log# ps aux | grep mail root 2363 0.0 0.5 9228 1888 ? Ss Jan28 0:20 sendmail: MTA: accepting connections root 23914 0.0 0.2 3040 792 pts/0 S+ 11:33 0:00 grep mail root@cpu:/var/log# kill 2363
我重新启动了postfix
sudo /etc/init.d/postfix restart