在Mac OS X Leopard(10.5.8)上使用Sendmail实现PHP mail()函数

12
我一直在尝试在我的iMac上使用PHP的非常基本的mail()函数,但一直无法成功。
我以前在Windows平台上使用过它,现在我正在尝试在Mac上运行它。我安装了XAMPP v1.01,可能是因为当时我不知道更好的方法,并且认为它应该可以正常工作。(至少我当时是这么想的)
我已经尝试了以下几个页面的指导,但都没有成功: 首先,我的/etc/hostconfig中没有MAILSERVER=-YES-的条目,所以我创建了它。
我在我的php.ini中添加了sendmail的完整路径:sendmail_path = "/usr/sbin/sendmail -t -i" 我知道我不需要在/etc/postfix/main.cf中设置myhostname变量,因为我只打算发送邮件而不是接收邮件。(注意:我也尝试过启用此设置!)
我已经启动了postfix并尝试运行脚本,但脚本只是不断地运行着,没有任何错误消息,似乎一直在工作,但什么都没有发生。(我已经三次检查了脚本代码)
我注意到有些人的解决方案甚至没有提到他们必须启动postfix守护程序才能让PHP的mail()函数正常工作。
有什么想法或者我可以尝试的东西吗?
如果您需要更多信息,请问。
P.

1
你有查看sendmail的日志文件吗?你收到了哪些错误信息? - thetaiko
我从哪里获取日志文件?我已经尝试过:在启动postfix之后,使用tail -f /var/log/mail.log命令,但是我在那里没有看到任何有用的信息,只有不断涌现的条目,即使postfix已经停止。 - paperclip
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:权限被拒绝它们都很相似。 - paperclip
1
尝试打开磁盘工具并运行修复权限。问题显然是权限错误。 - thetaiko
你不需要使用xampp,OS X自带完全配置好的PHP。 - Mahmoud Al-Qudsi
显示剩余2条评论
2个回答

1

XAMPP使用自己的/etc文件夹,它包含在应用程序包中。您可以右键单击并选择“显示包内容”。现在按照您列出的指南进行操作,但将更改应用于此/etc文件夹而不是mac的/etc文件夹。


0
从这里复制一个答案:http://macosx.com/forums/unix-x11/19819-sendmail-not-working.html 根据您发布的日志条目,看起来您的问题是这样的。
此外,该帖子的作者建议,在系统更新后,您必须再次执行此操作,因此“修复权限”不是您想要的... 可能是您想要的相反情况。
引用:
在OS X上,sendmail最常见的问题仅涉及权限问题,并且在安装大多数软件包后会出现此问题。检查/var/log/mail.log并查看它是否经常抱怨组可写目录。如果是这种情况,则问题是根目录是组可写的。这很容易通过快速的“sudo chmod g-x /”进行修复。然后,sendmail应该能够正确启动,我认为它可以通过键入“/ usr / sbin / sendmail -bd-q1h”来调用。同样,如果一切都失败了,请重新启动。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接