构建更快的webmail脚本

时间:2012-03-08 17:27:19

标签: webmail

我想要更快的网页邮件

我基于(php imap functions(imap port connection))

构建了小型webmail脚本

但是连接并获取邮件需要很长时间..

所以,我决定在没有连接的情况下手动阅读邮件(通过我自己的功能)..

我已经建立了自己的功能,转到(用户邮件)路径,然后我使用(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和yahoo是soooooooooooooooooooo更快???可能是他们使用数据库存储他们的网络邮件文件?

现在我的问题是

1 - 理论上我自己的函数真的比php imap函数快吗? (可能是我错了)

2 - (Gmail,Yahoo,Hotmail)他们存储邮件文件?数据库还是硬盘?他们是如此之快 同时他们允许你通过imap连接到他们的服务器并通过php获取你的邮件,这意味着他们使用硬盘来存储电子邮件文件! 或者可能是他们使用数据库并且他们定制了他们的网络邮件软件

3 - 有没有办法自定义postfix,将邮件存储到硬盘的数据库瞬间? 4 - 告诉我构建更快更强的Webmail系统的最佳想法

请不要忽略这些问题

我3个月前正在做这个项目..我累了!

1 个答案:

答案 0 :(得分:0)

1 - 是的。

2 - 取决于提供者。我假设雅虎和Hotmail可能正在使用实际的IMAP服务器,但我认为他们没有透露他们的基础设施。

3 - 这与后缀无关。 Postfix毕竟只是MTA。它不存储它只传输它们的邮件。因此,您当然可以编写自己的数据库驱动服务。艰巨的任务;)

4 - 以现有工具为基础。最简单的选择是建立在Horde Webmail

之上

Webmail是一项艰巨的任务。如果您考虑现代网络邮件的复杂性,那么您展示的PHP代码片段距离现实还有很短的几年。如果你真的想要一些工作,你需要从现有的构建块开始。 Horde是最好的选择,因为它是一个开发框架,提供有效的IMAP缓存功能,一个体面的AJAX后端等等。尽管如此:尽管如此,您自己的网络邮件服务仍将是一项艰巨的任务。