安装了 PEAR Mail 库,非常喜欢它的工作方式,比 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、referer: 等中静态调用。
PHP 严格标准:不应静态调用非静态方法 Mail_RFC822::parseAddressList(),假设 $this 来自第 253 行 /opt/local/lib/php/Mail.php 中不兼容的上下文,referer: 等。
PHP 严格标准:非静态方法 PEAR::isError() 不应在第 65 行的 emailSend.php 中静态调用,referer: 等。
我可以忽略这些,但如果有人对此有一些建议/经验,我宁愿解决问题。一直在谷歌上搜索它,但一切都是旧的。
梨 1.9.0
PHP 5.3.2