Joh*_*ohn 5 ubuntu php postfix
我最近购买了 VPS 计划。我安装了 Ubuntu 9.10、PHP5 和 Postfix。我无法让 PHP mail() 函数工作。在我的 PHP 脚本中,mail() 函数返回 true,这表明它正在工作。但是没有人收到我网站的电子邮件。
当我调用 sudo apt-get install postfix 时,postfix 的安装似乎很顺利。调用 /etc/init.d/postfix start 给了我“启动 Postfix 邮件传输代理 postfix”。调用 /etc/init.d/postfix reload 给了我错误“致命:Postfix 邮件系统未运行”。
在安装 postfix 之前,我使用的是与 PHP mail() 函数一起工作的 sendmail。
我如何调试和解决这个问题?
附加说明 我查看了 /var/log/mail.log 并发现每次调用 php 的 mail() 时都会出现以下错误
Feb 3 11:27:41 mywebsitedomain postfix/postdrop[23793]: warning: unable to look up public/pickup: No such file or directory
Run Code Online (Sandbox Code Playgroud)
哦,我按照这个论坛中的信息解决了这个问题:
http://ubuntuforums.org/showthread.php?t=666018
基本上,我查看了我的 /var/log/mail.log 错误文件,发现错误消息“无法查找 public/pickup:没有这样的文件或目录”。
然后我发出了命令
sudo mkfifo /var/spool/postfix/public/pickup
Run Code Online (Sandbox Code Playgroud)
我通过执行 ps -aux 并杀死它来确保 sendmail 没有仍在运行
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
Run Code Online (Sandbox Code Playgroud)
我重新启动了 postfix
sudo /etc/init.d/postfix restart
Run Code Online (Sandbox Code Playgroud)
现在 PHP 邮件功能可以工作了。
归档时间: |
|
查看次数: |
6468 次 |
最近记录: |