Article ID: 1711, created on May 3, 2012, last review on May 11, 2014

  • Applies to:
  • Plesk for Linux/Unix

解决方案

有一种方式可决定从哪个文件夹运行发送邮件的 PHP 脚本。注意:因您的操作系统与 Plesk 版本的不同,方式可能会与以下列举的不一样。

1) 使用以下内容创建 /var/qmail/bin/sendmail-wrapper 脚本:

#!/bin/sh
(echo X-Additional-Header: $PWD ;cat) | tee -a /var/tmp/mail.send|/var/qmail/bin/sendmail-qmail "$@"


注意,应该是两行,且包括 '#!/bin/sh'。

2) 创建日志文件 /var/tmp/mail.send 并许可 "a+rw" 权利;设置封装器可执行,重命名原 sendmail;并链接到新的封装器:

~# touch /var/tmp/mail.send
~# chmod a+rw /var/tmp/mail.send
~# chmod a+x /var/qmail/bin/sendmail-wrapper
~# mv /var/qmail/bin/sendmail /var/qmail/bin/sendmail-qmail
~# ln -s /var/qmail/bin/sendmail-wrapper /var/qmail/bin/sendmail

3) 等候一个小时并更改返回 sendmail:

~# rm -f /var/qmail/bin/sendmail
~# ln -s /var/qmail/bin/sendmail-qmail /var/qmail/bin/sendmail


检测 /var/tmp/mail.send 文件。应该有多行以 "X-Additional-Header:" 开头,指向发送邮件的脚本所处的域名文件夹。
您可使用以下命令查看是从哪个文件夹运行邮件 PHP 脚本:

~# grep X-Additional /var/tmp/mail.send | grep `cat /etc/psa/psa.conf | grep HTTPD_VHOSTS_D | sed -e 's/HTTPD_VHOSTS_D//' `

如果您从以上命令没有得到任何输出,表示没有发送来自 Plesk  虚拟主机目录的使用 PHP 邮件() 功能的邮件。

a914db3fdc7a53ddcfd1b2db8f5a1b9c 56797cefb1efc9130f7c48a7d1db0f0c 29d1e90fd304f01e6420fbe60f66f838

Email subscription for changes to this article