Postfix 管道到 php 问题:“无法将消息附加到文件:无法打开文件:权限被拒绝”

Postfix 管道到 php 问题:“无法将消息附加到文件:无法打开文件:权限被拒绝”

我在设置 php 应用程序(WHMCS)的管道时遇到了一些问题。

邮件已到达服务器但被退回。

邮件日志显示:-

May 15 12:51:14 hostname postfix/smtpd[2123]: connect from mail-wi0-f177.google.com[209.85.212.177]
May 15 12:51:14 hostname postfix/smtpd[2123]: D475CBB83F: client=mail-wi0-f177.google.com[209.85.212.177]
May 15 12:51:17 hostname postfix/cleanup[2133]: D475CBB83F: message-id=<[email protected]>
May 15 12:51:17 hostname postfix/qmgr[1922]: D475CBB83F: from=<[email protected]>, size=2501, nrcpt=1 (queue active)
May 15 12:51:17 hostname postfix/local[2134]: warning: database /etc/aliases.db is older than source file /etc/aliases
May 15 12:51:17 hostname postfix/smtpd[2123]: disconnect from mail-wi0-f177.google.com[209.85.212.177]
May 15 12:51:17 hostname postfix/local[2134]: D475CBB83F: to=<[email protected]>, relay=local, delay=2.6, delays=2.5/0/0/0.04, dsn=2.0.0, status=sent (delivered to command: php)
May 15 12:51:17 hostname postfix/local[2134]: D475CBB83F: to=<[email protected]>, relay=local, delay=2.6, delays=2.5/0/0/0.09, dsn=5.1.3, status=bounced (bad recipient address syntax: [email protected])
May 15 12:51:17 hostname postfix/local[2134]: warning: unable to create lock file /srv/mydomain.com/public_html/pipe/pipe.php.lock: Permission denied
May 15 12:51:17 hostname postfix/local[2134]: D475CBB83F: to=<[email protected]>, relay=local, delay=2.7, delays=2.5/0/0/0.12, dsn=5.2.0, status=bounced (cannot append message to file /srv/mydomain.com/public_html/pipe/pipe.php: cannot open file: Permission denied)
May 15 12:51:17 hostname postfix/cleanup[2133]: 7C2B3BB842: message-id=<[email protected]>
May 15 12:51:17 hostname postfix/bounce[2136]: D475CBB83F: sender non-delivery notification: 7C2B3BB842
May 15 12:51:17 hostname postfix/qmgr[1922]: 7C2B3BB842: from=<>, size=5028, nrcpt=1 (queue active)
May 15 12:51:17 hostname postfix/qmgr[1922]: D475CBB83F: removed
May 15 12:51:18 hostname postfix/smtp[2137]: 7C2B3BB842: to=<[email protected]>, relay=aspmx.l.google.com[2a00:1450:400c:c05::1b]:25, delay=0.61, delays=0.03/0/0.2/0.38, dsn=2.0.0, status=sent (250 2.0.0 OK 1368618678 kt8si636900wjb.97 - gsmtp)
May 15 12:51:18 hostname postfix/qmgr[1922]: 7C2B3BB842: removed

我试图 chown postfix /pipe 目录,但是这不起作用,我还将其 chmodded 为 777,以确保这不是问题所在。

两者都没有解决问题。

我还需要做什么来设置管道吗?

谢谢

答案1

我并不认为这样做是个好主意,但是为了将内容附加到文件中,进程需要具有对文件的写访问权限,而不是对其目录的写访问权限。

但我认为 Postfix 正在尝试做一些与您预期不同的事情......

编辑1:

| php -q /srv/mydomain.com/public_html/pipe/pipe.php

是一个错误:

包含特殊字符(例如空格)的命令应该用双引号引起来。

因此,这可能不被识别为一个命令,而是被识别为单独的 Postfix 操作:

  1. 管道至php
  2. 任何
  3. 附加到/srv/mydomain.com/public_html/pipe/pipe.php

答案2

有关的:Postfix 无法创建锁定文件,权限被拒绝

如上所述,确保 postfix 具有完全访问权限才能/var/mail/vhosts正常工作。

相关内容