2012-03-08 52 views
-1

我想bulid更快的webmail建設速度更快的網絡郵件腳本

我已經基於內置小型網絡郵件腳本(PHP IMAP功能(IMAP端口連接))

,但它需要很長的時間來連接並獲得郵件..

所以,我決定手動讀取郵件,而連接(通過我自己的函數)..

我已經建立了自己的功能,即去的(用戶的郵件)的路徑,然後我使用(scandir功能)

獲取文件夾中的所有郵件,然後手動讀取/獲取它們!

我會告訴你一個例子代碼

<? 
$current_folder = 'new'; 
$virtual_user = 'someone'; 
$path_to_mails = '/home/user/mail/' . $virtual_user . '/' . $current_folder; 
$all_emails = scandir($path_to_mails); 
foreach ($all_emails as $mail_file) { 
       $file = file_get_contents ($mail_file) ; 
       //Now i've the mail file .. 
       //i'll explode it and extract the important information from it 
} 
?> 

現在,我得到的電子郵件沒有連接到任何端口

我認爲它比(PHP IMAP功能)快...

但它也需要很長時間來獲取和閱讀文件!

爲什麼Gmail和雅虎是soooooooooooooooooooo更快???可能他們使用數據庫來存儲他們的網絡郵件文件?

現在我的問題就是

1 - 是我自己的功能真的比PHP IMAP功能理論上更快? (可能是我錯了)

2 - (Gmail,Yahoo,Hotmail)他們在哪裏存儲郵件文件?數據庫還是硬盤?他們是如此之快,並在同一時間,他們讓你通過IMAP連接到他們的服務器,並通過PHP獲取您的郵件,這意味着他們使用硬盤來存儲電子郵件文件! 或可能是他們使用數據庫,他們定製他們的網絡郵件軟件

3 - 有什麼辦法來定製後綴,將郵件存儲到硬盤的數據庫即時? 4 - 告訴我最好的想法,建立一個更快速和強大的webmail系統

請不要忽略任何此類問題

我對這個項目的3個月前的工作..我累了!

回答

0

1 - 是的。

2 - 取決於供應商。我認爲雅虎和Hotmail可能會使用實際的IMAP服務器,但我不認爲他們會披露他們的基礎設施。

3 - 這與postfix無關。畢竟Postfix只是MTA。它不存儲它只是傳輸它們的郵件。所以你當然可以編寫你自己的數據庫驅動的服務。艱鉅的任務;)

4 - 建立在現有的工具。最簡單的選擇是建立在Horde Webmail

Webmail是一項艱鉅的任務。如果考慮到現代webmailer的複雜性,那麼您展示的一小段PHP代碼與現實距離真的很遙遠。如果你真的想要一些工作,你需要從現有的構建塊開始。部落是最好的選擇,因爲它是一個開發框架,提供高效的IMAP緩存功能,體面的AJAX後端等。儘管如此:儘管如此,您自己的網絡郵件服務仍然是一項艱鉅的任務。