以下は zend_mail_protocol_imap の関数です。メールを検索するためにそれを読んだので、 zend_mail_storage_imap を使用してオーバーライドしたいと思います(これは、gmailからメールを取得するために現在使用しているものです)。次の関数をコピーして zend_mail_storage_imap に貼り付けましたが、パラメータに問題があります。配列 $params に何を使用するかに関するドキュメントが見つかりません。もっとよく読む前に、最初は検索語だと思っていました。私はアイデアがありません。ここに機能があります...
/**
* do a search request
*
* This method is currently marked as internal as the API might change and is not
* safe if you don't take precautions.
*
* @internal
* @return array message ids
*/
public function search(array $params)
{
$response = $this->requestAndResponse('SEARCH', $params);
if (!$response) {
return $response;
}
foreach ($response as $ids) {
if ($ids[0] == 'SEARCH') {
array_shift($ids);
return $ids;
}
}
return array();
}
最初はこれでうまくいくと思っていたのですが…
$storage = new Zend_Mail_Storage_Imap($imap);
$searchresults = $storage->search('search term');
エラーメッセージは次のとおりです。
キャッチ可能な致命的なエラー: Zend_Mail_Storage_Imap::search() に渡される引数 1 は、指定された文字列で呼び出された配列でなければなりません...
しかし、いいえ、情報を配列で送信する必要があります。何か案は?