簡體   English   中英

性能:imap_headers()還是imap_fetchheader()?

[英]Performance: imap_headers() or imap_fetchheader()?

我需要下載郵箱中的所有標頭(不需要正文)。 一個郵箱可能有10萬條或更多的消息。

imap_headers()承諾返回郵箱的所有標題; 這將使事情變得簡單易用。 我擔心這是否會在整個IMAP服務器范圍內表現出色(有些服務器沒有提供所有標頭)。

另一種方法是使用imap_search()獲取ID列表,然后使用imap_fetchheader()進行迭代並獲取所有標頭(可能使用某種隊列系統)。

有人遇到過這個問題嗎? 如果imap_headers可靠地“運行”(或者有一種簡單的方法來告訴它失敗了),那將是更好的選擇; 否則,我認為imap_fetchheader是必經之路。

這些都不能在所有情況下都很好地工作。 在包含數千或數十萬條od消息的郵箱中要求所有消息的消息標頭是一個錯誤的主意。 另一方面,一個一個地處理它們也不是明智的,因為您正在使用的庫是同步的,因此您將受到運行PHP腳本的主機和IMAP之間的往返時間的限制。您要查詢的服務器。

獲取異步IMAP庫,並使用一些合理大小的窗口/消息范圍來獲取。 例如,每次檢索幾十條或幾百條消息可能是合理的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM