希望某人有一些建议或解决方法。
我最近编写了一个电子邮件解析器来处理通过CPanel中的管道转发的邮件,并在mySQL表中输入详细信息。
客户现在希望将历史邮件导入此数据库,并且有大约50个Gmail帐户,其中一些帐户有超过20,000封邮件。
在我正在使用的“测试”帐户中,我已经能够从25000个电子邮件中获得大约7000封电子邮件。试着弄清楚为什么我把它剥离了所以有一个非常简单的php imap脚本运行只是为了将电子邮件的几个部分转储到表格中的单元格中,并且担心之后解析它,但是同样的事情发生了。它点击6000-7000电子邮件标记并停止 - 没有错误或任何东西,它只是停止。
我刚刚发现Gmail的IMAP带宽限制为每小时750MB,并且数学运算看起来很可能我正在达到这一点,这就是为什么它会停止。
第一个问题 - 任何人都知道如何判断这是否是原因?
其次 - 假设有人能想到最佳解决方案吗?
我考虑过几千封电子邮件,但这意味着需要大量的人工干预,因为帐户数量很多,所以我需要花费很长时间才能下载所有这些电子邮件。
我的第二个(也是最好的)想法是使用Gmail建议的方法之一将所有邮件迁移到在客户端的Cpanel上创建的电子邮件地址,并使用内置管道功能通过我转发邮件脚本和我用他们的新邮件一样。 (我不是100%确定迁移会触发CPanel应用管道规则,我必须进行测试。)
感谢任何输入。
提前感谢。
答案 0 :(得分:1)
我对你的第一个问题没有答案。
但就您的第二个问题而言,如果您将任务分成几千封电子邮件,则无需手动重新运行程序。你可以使用sleep来暂停程序,在拖过x个电子邮件后停留一个小时,或者你可以设置一个每小时运行一次的cron作业,你只需要保存一个指向上次处理的电子邮件的指针。数据库或临时文件,以便您知道从哪里拿起并重新开始下一个cron作业运行。