在php中获取电子邮件附件cron job

时间:2013-02-18 23:35:00

标签: php email fgetcsv

有人能指出我如何使用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文件。这样我就可以使用我现有的代码来处理文件以及我正在寻找的内容,如何自动化获取文件的过程..任何帮助都会很棒!非常感谢。 杰森

1 个答案:

答案 0 :(得分:0)

对于此解决方案,您需要使用IMAP访问邮箱。机会是,这已经得到支持。

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