【发布时间】:2011-08-02 04:03:53
【问题描述】:
出于测试目的,假设 input.PHP 看起来像这样
<?php
{
$TO = "joe@net.net";
$FROM = "bob@net.net";
$SUB = "Yadda";
$BODY = "This is a test";
exec("/usr/bin/php /xxx.yyy.net/TESTS/sendit.PHP $TO $SUB $BODY $FROM > /dev/null &");
echo "DONE";
}
?>
exec()调用的sendit.PHP是这样的
<?php
$to = $argv[1];
$subject = $argv[2];
$message = $argv[3];
$headers = 'From: '.$argv[4]. "\r\n" .
'Reply-To: '.$argv[4]. "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
当我在浏览器中打开 input.PHP 时,我收到 echo DONE 消息,但未发送测试电子邮件。我的代码有什么问题?谢谢。
【问题讨论】:
-
1) 如果您在 sendit.PHP 中回显某些内容并将您的输出放到一个文件中,是否存在? 2)你为什么要做一个高管?为什么不直接调用 sendit.PHP?
-
尝试写入文件而不是 /dev/null 因为它会将任何错误(实际上是所有输出)抑制到黑洞中,写入文件将为您提供更多信息。然后在此处发布文件所说的内容。