1

希望有人有一些建议或解决方法。

我最近编写了一个电子邮件解析器,用于处理通过 CPanel 中的管道转发的邮件,并将详细信息输入到 mySQL 表中。

客户现在希望将历史邮件导入此数据库,并且拥有大约 50 个 Gmail 帐户,其中一些帐户包含超过 20,000 封邮件。

在我正在使用的“测试”帐户上,我已经能够从 25000 封电子邮件中收到大约 7000 封电子邮件。为了尝试弄清楚为什么我将其剥离,所以运行了一个非常简单的 php imap 脚本,只是为了将电子邮件的几个部分转储到表格中的一个单元格中,然后担心解析它,但是同样的事情也会发生。它达到 6000-7000 电子邮件标记并停止 - 没有错误或任何东西,它只是停止。

我刚刚发现 Gmail 对 IMAP 的带宽限制为每小时 750MB,并且通过数学计算,我很可能会遇到这个问题,这就是它停止的原因。

第一个问题 - 任何人都知道我如何检查这是否是原因?

其次-假设任何人都可以想到最佳解决方案吗?

我考虑过以几千封电子邮件为单位进行操作,但这意味着由于帐户数量众多,需要进行大量手动干预,而且下载它们需要很长时间,而我没有这些。

我的第二个(也是迄今为止最好的)想法是使用 Gmail 推荐的方法之一将所有邮件迁移到在客户端的 Cpanel 上创建的电子邮件地址,并使用内置管道功能通过我在我对他们的新邮件也是如此。(我不能 100% 确定迁移会触发 CPanel 应用管道规则,我必须进行测试)。

感谢任何输入。

提前致谢。

4

1 回答 1

1

你的第一个问题我没有答案。

但是就您的第二个问题而言,如果您将任务分成几千封电子邮件,您不一定必须手动重新运行您的程序。您可以在收到 x 封电子邮件后使用 sleep 将程序停止一小时,或者您可以设置一个每小时运行一次的 cron 作业,您只需保存指向您处理的最后一封电子邮件的指针一个数据库或临时文件,这样您就知道在哪里获取并重新开始下一个 cron 作业运行。

于 2012-11-13T13:41:40.110 回答