2013-02-18 3 views
0

Может ли кто-нибудь указать мне в правильном направлении, как использовать php для захвата вложения из электронной почты? Я уже использую php для успешной обработки довольно большого файла .csv и выработки различных действий на основе условий. Он работает очень хорошо, но теперь мне было предложено автоматизировать действие загрузки электронной почты, содержащей новый CSV-файл, несколько раз в день.Получить электронное сообщение cron job in php

Используя это как начало моего кода, я делаю то, что мне нравится, в файле .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); 

Мой вопрос: как захватить CSV-файл, используя php, выполняющийся на cronjob. Таким образом, я могу использовать свой существующий код, который обрабатывает файл вместе с тем, что я ищу, как автоматизировать процесс получения файла. Любая помощь будет БОЛЬШОЙ! Огромное спасибо. Jason

+0

Я думаю, что более простой способ задать этот вопрос, можно ли каким-либо образом использовать fgetcsv из вложения электронной почты? – user1789437

ответ

0

Для этого решения вам необходимо получить доступ к почтовому ящику с помощью IMAP. Скорее всего, это уже поддерживается.

Далее вы можете захватить вложение файла в переменную $ data (без необходимости ее сохранения). См. Этот ответный ответ: Retrieving file attachment. Затем вы сможете создать свой csv, используя свой код (который, конечно, вы теперь ввели в функцию, верно? :)) Если у вас есть вопросы по доступу к почте через IMAP, найдите StackOverflow, попробуйте использовать примеры из PHP Manual, а затем оставлять любые новые вопросы.

+0

Большое спасибо! – user1789437