我對IMAP有點問題。 基本上,我連接到服務器以獲取文件夾名稱,爲每個文件夾重新連接,循環瀏覽每條消息並執行我所需的操作。PHP IMAP循環進展緩慢
它的工作除了事情進展緩慢和慢慢。任何想法與此?我有一個有趣的感覺,這是與imap_body做,因爲它似乎是這個位,這是造成這個問題。我是否需要以某種方式清除每個循環的內容?
我的代碼類似於這樣(但去掉位的負載)的東西......
$Mailbox = imap_open("$Hostname", "$Username", "$Password") or die('Error: ' . imap_last_error());
$List = imap_list($Mailbox, "$Hostname", "*");
if(is_array($List))
{
foreach ($List as $Folder)
{
$FolderName = imap_utf7_decode($Folder);
$FolderStream = imap_reopen($Mailbox, "$Folder") or die('Error: ' . imap_last_error());
$FolderCount = imap_num_msg($Mailbox);
for($i=1;$i<=$FolderCount;$i++)
{
$EmailBody = imap_body($Mailbox, $i);
// Do whatever I need here
}
}
}
imap_close($Mailbox);
更新 我已經通過使用服務器的IP地址,而加速起來一點比主機名(這是除了指定端口之外),儘管問題依然存在,隨着事情的發展,事情變得越來越慢。
那麼郵件正文不是很大,我知道內容應該(應該!)是什麼。不幸的是,我無法用服務器做任何事情,因爲它是outlook 365,而不是與我有任何關係。 – rich 2013-02-20 13:17:08