在php中获取电子邮件附件cron作业


Get email attachment cron job in php

有人能为我指出如何使用php从电子邮件中获取附件的正确方向吗?我已经在使用php成功地处理一个相当大的.csv文件,并根据条件执行不同的操作。它运行得很好,但我现在被要求每天自动下载几次包含新.csv文件的电子邮件。

使用这个作为我的代码的开始,一旦我下载了.csv文件中的信息,并将其放在我的服务器上,我就可以随心所欲地处理它。那么,我可以从电子邮件中打开附件,跳过下载并将其放在服务器上的步骤吗?

   $handle = fopen("updateaccounting.csv", "r");
        // loop content of csv file, using comma as delemiter
        while (($data = fgetcsv($handle, 1000, ",")) !== false) {
        $compareid = $data[0];
        $date = $data[1];
        $first = $data[5];
        $last = $data[6];
        $city = $data[7];
        $fundedamount = $data[10];
        $xmlstatus = $data[13];
        $custtestid = substr($compareid, 0, 11);

我的问题是如何使用运行在cronjob上的php获取.csv文件。通过这种方式,我可以使用我现有的处理文件的代码以及我正在寻找的内容,以及如何自动化获取文件的过程。。任何帮助都将是伟大的!非常感谢。Jason

对于此解决方案,您需要使用IMAP访问邮箱。很可能,这已经得到了支持。

接下来,您可以将文件附件抓取到$data变量中(无需保存)。请参阅以下答案:检索文件附件。然后,你应该能够使用你的代码创建csv(当然,你现在已经把它放进了一个函数中,对吧?:))如果你对通过IMAP访问邮件有问题,请搜索StackOverflow,使用PHP手册中的示例进行尝试,然后发布任何新问题。