0

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() は、emailSend.php の 48 行目、referer: などで静的に呼び出されるべきではありません。

PHP の厳格な標準: 非静的メソッド Mail_RFC822::parseAddressList() を静的に呼び出すべきではありません。$this が 253 行目の /opt/local/lib/php/Mail.php の互換性のないコンテキストからのものであると仮定すると、referer: などです。

PHP の厳格な標準: 非静的メソッド PEAR::isError() は、emailSend.php の 65 行目、referer: などで静的に呼び出されるべきではありません。

私はこれらを無視することができますが、誰かがこれに関する提案/経験を持っている場合は、むしろ問題を修正したいと思います. グーグルで調べましたが、すべてが古いです。

ナシ 1.9.0
PHP 5.3.2

4

0 に答える 0