我曾经能够使用PHP中的简单邮件()发送电子邮件,但由于我已升级到最新的PHP,因此无法发送电子邮件。
当我查看电子邮件日志时,我得到以下信息:
Jun 29 21:14:49 Johns-MacBook postfix/pickup[26503]: 384B6246803: uid=70 from=<_www>
Jun 29 21:14:49 Johns-MacBook postfix/master[26709]: fatal: open lock file pid/master.pid: unable to set exclusive lock: Resource temporarily unavailable
Jun 29 21:14:49 Johns-MacBook postfix/cleanup[26680]: 384B6246803: message-id=<20110629201449.384B6246803@example.com>
Jun 29 21:14:49 Johns-MacBook postfix/qmgr[26504]: 384B6246803: from=<_www@example.com>, size=351, nrcpt=1 (queue active)
Jun 29 21:14:49 Johns-MacBook postfix/local[26683]: 384B6246803: to=<ben@example.com>, relay=local, delay=0.02, delays=0.01/0/0/0, dsn=5.1.1, status=bounced (unknown user: "ben")
Jun 29 21:14:49 Johns-MacBook postfix/cleanup[26680]: 3C318246805: message-id=<20110629201449.3C318246805@example.com>
Jun 29 21:14:49 Johns-MacBook postfix/qmgr[26504]: 3C318246805: from=<>, size=2033, nrcpt=1 (queue active)
Jun 29 21:14:49 Johns-MacBook postfix/bounce[26684]: 384B6246803: sender non-delivery notification: 3C318246805
Jun 29 21:14:49 Johns-MacBook postfix/qmgr[26504]: 384B6246803: removed
Jun 29 21:14:49 Johns-MacBook postfix/local[26683]: 3C318246805: to=<_www@example.com>, relay=local, delay=0, delays=0/0/0/0, dsn=2.0.0, status=sent (delivered to mailbox)
Jun 29 21:14:49 Johns-MacBook postfix/qmgr[26504]: 3C318246805: removed
答案 0 :(得分:2)
解决fatal: open lock file pid/master.pid: unable to set exclusive lock: Resource temporarily unavailable
问题:
查看您的php.ini
文件并确保您可以看到此行:
sendmail_path = sendmail -t -i
或
sendmail_path = /usr/sbin/sendmail -t -i
它周围不应该有任何引号,并且它之前没有分号(;)。如果它不存在或不同,请将其更改为与上面的一行匹配。
如果这没有帮助,请查看http://switch.richard5.net/2006/08/19/fatal-open-lock-file-pidmasterpid/并查看是否有帮助。既然你已经更新了PHP,我怀疑postfix是问题,但你永远不知道。
同时强>
您可能有postfix配置问题。它试图使用local
中继进行传递。如果您尝试发送的电子邮件不是本地服务器上的电子邮件,您可能需要检查/etc/mailnames
和/etc/postfix/main.cf
检查myhostname
,mydomain
和myorigin
。
答案 1 :(得分:0)
设置你的中继主机
sudo postconf -e relayhost=<your-isp’s-smtp-server>