php中的java imap function doCommand
的替代方法是什么?
我想触发一些自定义的imap扩展命令,但我在这里找不到任何功能:http://php.net/manual/en/book.imap.php
答案 0 :(得分:4)
我已经切换到了zend imap。 它支持自定义命令和提取。
解决了我的问题。
<?php
require_once 'Zend/Mail/Storage/Imap.php';
require_once "Zend/Mail/Protocol/Imap.php";
require_once "Zend/Registry.php";
$protocol = new Zend_Mail_Protocol_Imap('imap.gmail.com', 993, true);
$protocol->login($user, $pass);
$protocol->select('INBOX');
$storage = new Zend_Mail_Storage_Imap($protocol);
foreach ($storage as $messageId => $message) {
$id = $protocol->fetch('Custom Attribute', $storage->getUniqueId($messageId));
echo "Mail from '{$message->from}': {$message->subject} : Custom Attribute $id \n";
}
?>
答案 1 :(得分:0)
Zend支持自定义表彰,但遗憾的是不支持一些基本功能,如获取默认PHP imap库所做的消息部分......: - (
答案 2 :(得分:-1)
еслисобираетесьискатьчерезimapкириллическиеслова - уменяполучилосьтак:
如果您要使用IMAP非英语字符进行搜索 - 请执行以下操作:
$protocol->search(array("charset utf-8 X-GM-RAW", "Денис|test"));//это zend
т.е。 витогезапроссерверубудеттакой:
这个对服务器的请求的结果将是:
. search charset utf-8 text Живалов|test
илитак - используемimapрасширениеgmailмощныйпоиск:
左右 - 使用gmail imap扩展功能强大的搜索:
. search charset utf-8 X-GM-RAW 'Живалов'|'test'
- воттакработаетэтоапострофнабукве(Ё/тильде〜)именновтакойпоследовательностинидвойныекавычки,ниодинарныенеработают,нуувродекакибезвсегоработает:
它有效,'这个撇号以字母(e /〜tilde)的顺序,双引号或单引号不起作用,有点像没有全部工作:
. search charset utf-8 X-GM-RAW Живалов|test
我不知道如何在这里发布一些wiki,所以你可以reed here