-1

我想要建立更快的网络邮件

我已经基于(php imap 函数(imap 端口连接))构建了小型 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 这么快?他们可能是在使用数据库来存储他们的网络邮件文件吗?

现在我的问题是

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

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

3 - 有没有办法自定义后缀,将邮件存储到硬盘的数据库即时?4 - 告诉我构建更快、更强大的网络邮件系统的最佳方法

请不要忽略这些问题中的任何一个

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

4

1 回答 1

0

1 - 是的。

2 - 取决于提供者。我假设 Yahoo 和 Hotmail 可能正在使用实际的 IMAP 服务器,但我不认为他们公开了他们的基础设施。

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

4 - 基于现有工具构建。最简单的选择是构建在Horde Webmail之上

Webmail 是一项艰巨的任务。如果您考虑到现代网络邮件程序的复杂性,您展示的一小段 PHP 代码与现实相距甚远。如果你真的想要一些工作,你需要从现有的构建块开始。Horde 是那里的最佳选择,因为它是一个开发框架,提供高效的 IMAP 缓存功能、体面的 AJAX 后端等等。尽管如此:您自己的网络邮件服务仍然是一项艰巨的任务。

于 2012-03-13T14:38:21.053 回答