PHP mail() not working with Postfix on Ubuntu
I recently purchased a VPS plan. I installed Ubuntu 9.10, PHP5 and Postfix. I can't get the PHP mail() function to work. In my PHP script, the mail() function returns true, which suggests it is working. But no one is receiving my website's emails.
Installation of postfix appeared to have went fine when I called a sudo apt-get install postfix. Calling a /etc/init.d/postfix start gave me "Starting Postfix Mail Transport Agent postfix ". Calling a /etc/init.d/postfix reload gave me the error "fatal: the Postfix mail system is not running".
Prior to installing postfix, I was using sendmail which worked with the PHP mail() function.
How do I debug and fix this problem?
Additional Notes I looked in /var/log/mail.log and found the follow error everytime i call php's mail()
Feb 3 11:27:41 mywebsitedomain postfix/postdrop[23793]: warning: unable to look up public/pickup: No such file or directory
Solution 1:
Oh, I fixed the problem by following the information in this forum:
http://ubuntuforums.org/showthread.php?t=666018
Basically, I looked in my /var/log/mail.log error file and found the error message "unable to look up public/pickup: no such file or directory".
I then issued the command
sudo mkfifo /var/spool/postfix/public/pickup
I made sure sendmail wasn't still running by doing a ps -aux and killing it
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
I restarted postfix
sudo /etc/init.d/postfix restart
And now the PHP mail function works.