垃圾邮件刺客提供无效输出

时间:2010-06-26 05:06:09

标签: php spamassassin

我希望在将垃圾邮件发送给用户之前使用垃圾邮件刺客为垃圾邮件评分。我正在使用PHP将其作为使用exec的进程执行。

exec("/usr/bin/spamc -R < {$fname}",$score,$rr);

问题是返回的结果总是0/0。我从PHP Classes网站上获取了PHP代码。正在使用的演示消息在

下面
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>free free</title>
<meta content="false" http-equiv="imagetoolbar">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body>
viagra test test free free
</center></body></html>

请建议可能出现的问题

1 个答案:

答案 0 :(得分:0)

尝试使用proc_open代替exec更改电子邮件内容的管道方式:

$email_content = "Put your email content here."

$descriptorspec = array(
    0 => array("pipe", "r"),  // stdin read by child
    1 => array("pipe", "w"),  // stdout written to by child
    2 => array("file", "/tmp/spamd-error-output.txt", "a") // stderr
);

$process = proc_open("/usr/bin/spamc -R", $descriptorspec, $pipes);

if (is_resource($process)) {
    fwrite($pipes[0], $email_content);
    fclose($pipes[0]);
    $full_output = fgets($pipes[1], 1024);
}