HORDE Imap PHP客户端-如何获取消息
好的,ZETA的电子邮件客户端没有什么好运气,所以现在我尝试安装Horde IMAP客户端库。我已成功登录到我的帐户,搜索电子邮件,并返回结果,但我不知道如何获取电子邮件数据,文档也没有真正的帮助:| 我假设我必须使用HORDE Imap PHP客户端-如何获取消息,php,email,horde,Php,Email,Horde,好的,ZETA的电子邮件客户端没有什么好运气,所以现在我尝试安装Horde IMAP客户端库。我已成功登录到我的帐户,搜索电子邮件,并返回结果,但我不知道如何获取电子邮件数据,文档也没有真正的帮助:| 我假设我必须使用Horde\u Imap\u Client\u Base::fetch()方法来获取一些电子邮件,它接受两个参数,一个邮箱名和一个Horde\u Imap\u Client\u fetch\u Query对象,但我不知道如何获取第二个对象:| 这个对象应该由一个基函数返回,还是应该
Horde\u Imap\u Client\u Base::fetch()
方法来获取一些电子邮件,它接受两个参数,一个邮箱名和一个Horde\u Imap\u Client\u fetch\u Query
对象,但我不知道如何获取第二个对象:|
这个对象应该由一个基函数返回,还是应该用我想要的查询参数构建这个对象?如果是第二种情况,我应该如何在下面示例中的fetchquery对象中重建搜索查询
以下是我在收件箱中搜索特定联系人在特定日期发送的邮件的方式:
$client = new Horde_Imap_Client_Socket(array(
'username' => 'my.email@address.com',
'password' => 'xxxxxxxxxx',
'hostspec' => 'my.mail.server',
'port' => '143',
'debug' => '/tmp/foo',
));
$query = new Horde_Imap_Client_Fetch_Query();
$query->dateSearch(new Date(), Horde_Imap_Client_Search_Query::DATE_ON);
$query->headerText("from","mycontact@contact.email");
$results = $client->search('INBOX', $query);
Horde_Imap_Client_Base::search()
返回一个数组,其中包含搜索结果(搜索电子邮件的邮件id)和一些附加数据。$results=$Client->search($mailbox,$searchquery,array('sort'=>array($sSortDir,$sSort));
$results = $client->search($mailbox, $searchquery, array('sort' => array($sSortDir, $sSort)));
$uids = $results['match'];
for ($i = $i_start; $i < $i_to; $i++)
{
$muid = new Horde_Imap_Client_Ids($uids->ids[$i]);
$list = $client->fetch($mailbox, $query, array(
'ids' => $muid
));
$flags = $list->first()->getFlags();
$part = $list->first()->getStructure();
$map = $part->ContentTypeMap();
$envelope = $list->first()->getEnvelope();
}
$uids=$results['match'];
对于($i=$i_start;$i<$i_to;$i++)
{
$muid=新部落的Imap\U客户机\U ID($UID->Ids[$i]);
$list=$client->fetch($mailbox,$query,array)(
'ids'=>$muid
));
$flags=$list->first()->getFlags();
$part=$list->first()->getStructure();
$map=$part->ContentTypeMap();
$envelope=$list->first()->getEnvelope();
}
没有完全回答您的问题。这就是我搜索未删除邮件的方式
$client = new Horde_Imap_Client_Socket(array(
'username' => $user,
'password' => $pass,
'hostspec' => $server,
'secure' => 'ssl'
));
$query = new Horde_Imap_Client_Search_Query();
$query->flag(Horde_Imap_Client::FLAG_DELETED, false);
$results = $client->search('INBOX', $query);
foreach($results['match'] as $match) {
$muid = new Horde_Imap_Client_Ids($match);
$fetchQuery = new Horde_Imap_Client_Fetch_Query();
$fetchQuery->imapDate();
$list = $client->fetch('INBOX', $fetchQuery, array(
'ids' => $muid
));
var_dump($list);
}