安装PEAR邮件库,真的很喜欢它的工作方式,比PHP mail()函数要好得多。但是,我发送的每封邮件都会在error_log中显示严格的标准通知。他们不是致命的,而是把日志搞得一团糟。
以下是控制代码:
$body = $_POST['message'];
//using sendmail on backend
$params['sendmail_path'] = '/usr/sbin/sendmail';
//using factory method
$mail_object =& Mail::factory('sendmail',$params);
//loop through selected users to send
for ($i=0;$i<count($recipients);$i++){
if (!empty($recipients[$i]['email'])&&($recipients[$i]['alt_email'])){
//concatinate email and alt_email
$address = $recipients[$i]['email'].",".$recipients[$i]['alt_email'];
}
else {
//only one user address
$address = $recipients[$i]['email'];
}
//send the mail instance
$mail_object->send($address,$headers,$body);
if (PEAR::isError($mail_object)) {print($mail_object->getMessage());}
} //close the for loop
然后记录错误通知:
PHP严格标准:非静态方法Mail :: factory()不应在第48行的emailSend.php中静态调用,引用:等等。
PHP严格标准:不应静态调用非静态方法Mail_RFC822 :: parseAddressList(),假设$ 25来自第253行/opt/local/lib/php/Mail.php中的不兼容上下文,referer:等。
PHP严格标准:非静态方法PEAR :: isError()不应在第65行的emailSend.php中静态调用,参考资料:等。
我可以忽略这些,但如果有人对此有任何建议/经验,宁愿解决问题。谷歌搜索它,但一切都比较旧。
PEAR 1.9.0
PHP 5.3.2