【发布时间】:2011-01-27 21:06:52
【问题描述】:
我一直在努力让一个真正基本的 PHP 函数在我的 iMac 上运行,PHP mail() 函数。
我已经用过无数次了,虽然是在 Windows 平台上,现在我正试图让它在 Mac 上运行。
我安装了 XAMPP v1.01 可能是因为我当时不知道有什么更好的,我认为它会正常工作,因为这就是它应该做的。 (或者我是这么认为的)。
我尝试了以下页面的说明无济于事:
- http://blog.rajatpandit.com/2009/03/15/php-mail-and-osx-leopard/
- http://theandystratton.com/2009/fix-phps-mail-function-after-latest-os-x-leopard-update
- http://forums.oreilly.com/index.php?showtopic=5243&mode=threaded&pid=14721
- http://jspr.tndy.me/2008/05/php-mail-and-osx-leopard/
首先,我没有以下条目:
MAILSERVER=-YES- 在我的 /etc/hostconfig 中,所以我创建了它。
我在 php.ini 中添加了 sendmail 的完整路径:sendmail_path = "/usr/sbin/sendmail -t -i"
我知道我不需要在 /etc/postfix/main.cf 中设置myhostname 变量,因为我只打算发送邮件而不接收它。 (注意。我也尝试过启用此设置!)
我已经启动 postfix,然后尝试运行脚本,但脚本只是在没有错误消息的情况下处理,它基本上一直看起来好像在工作,但没有任何反应(我已经三次检查了脚本的代码)。
我注意到有些人的解决方案甚至没有提到必须启动 postfix 守护程序才能让 PHP mail() 函数工作。
有什么想法或事情让我尝试吗?
如果您需要更多信息,请询问。
P.
【问题讨论】:
-
您查看过 sendmail 的日志文件吗?您收到什么错误?
-
我可以从哪里获取日志文件?我已经尝试过:tail -f /var/log/mail.log 在启动 postfix 后,但我没有看到任何有用的信息,即使 postfix 已停止,只有源源不断的条目流。
-
这可能是您想要的文件 - 那里有指定的错误吗?域无效、发件人验证失败等?
-
示例:3 月 15 日 21:05:24 imac postfix/postdrop[1651]:警告:mail_queue_enter:创建文件 maildrop/900320.1651:权限被拒绝 3 月 15 日 21:05:34 imac postfix/postdrop[ 1651]:警告:mail_queue_enter:创建文件 maildrop/900657.1651:权限被拒绝 3 月 15 日 21:05:44 imac postfix/postdrop [1651]:警告:mail_queue_enter:创建文件 maildrop/901029.1651:权限被拒绝 3 月 15 日 21:05:54 imac postfix/postdrop[1651]: 警告: mail_queue_enter: 创建文件 maildrop/901346.1651: Permission denied 他们都是相似的。
-
尝试打开磁盘工具并运行修复权限。问题显然是权限错误。
标签: php macos email sendmail osx-leopard