Php Zend Imap,用Gmail标签获取电子邮件
我使用从Gmail获取电子邮件,目前我只能在收件箱中获取邮件, 身份验证后,我设置令牌和其他参数Php Zend Imap,用Gmail标签获取电子邮件,php,zend-framework,gmail,gmail-imap,zend-gdata,Php,Zend Framework,Gmail,Gmail Imap,Zend Gdata,我使用从Gmail获取电子邮件,目前我只能在收件箱中获取邮件, 身份验证后,我设置令牌和其他参数 $imap->requestAndResponse('AUTHENTICATE', $authenticateParams); $response = $imap->requestAndResponse('XLIST', $imap->escapeString('', '*')); 在$response变量中,我将获得所有标签/文件夹的列表 Array ( [0]
$imap->requestAndResponse('AUTHENTICATE', $authenticateParams);
$response = $imap->requestAndResponse('XLIST', $imap->escapeString('', '*'));
在$response变量中,我将获得所有标签/文件夹的列表
Array
(
[0] => Array
(
[0] => XLIST
[1] => Array
(
[0] => \HasNoChildren
)
[2] => /
[3] => Calendar
).................... INBOX, Sent Mails Etc
等等,在完成一些代码并获取索引[3]上的名称之后,这些索引是我的标签和文件夹
我有如下数组中的列表
Array
(
[0] => Calendar
[1] => Drafts
[2] => Facebook Mails
[3] => Inbox
[4] => Junk E-mail
[5] => Logs
[6] => Personal Mails
[7] => Sent Items
[8] => Office Mails
)
现在我想在每个邮件/文件夹中提取电子邮件
我尝试了Zend\u Mail\u Storage\u Folder\u Maildir
,但我不知道如何准确获取上述每个文件夹中的邮件,我正在使用Imap
通过如下方式打开存储
$storage=new Zend\u Mail\u storage\u Imap($Imap)代码>
这仅返回收件箱文件夹中的邮件 以显示所有文件夹
$storage = new Zend_Mail_Storage_Imap($this->imap);
$folders = new RecursiveIteratorIterator($storage->getFolders(), RecursiveIteratorIterator::SELF_FIRST);
echo '<select name="folder">';
foreach ($folders as $localName => $folder) {
$localName = str_pad('', $folders->getDepth(), '-', STR_PAD_LEFT) .
$localName;
echo '<option';
if (!$folder->isSelectable()) {
echo ' disabled="disabled"';
}
echo ' value="' . htmlspecialchars($folder) . '">'
. htmlspecialchars($localName) . '</option>';
}
echo '</select>';
[Gmail]/Sent Mail选择已发送邮件文件夹的标签我想没有办法做到这一点。我通过从“所有邮件”文件夹中提取邮件来解决这个问题。
$storage->selectFolder("[Gmail]/Sent Mail");