Извлечение почты из Exchange и загрузка в Mysql. Perl Win32 :: OLE или Perl Net :: POP3, или попробуйте в Ruby - PullRequest
2 голосов
/ 20 января 2010

Моя проблема заключается в следующем: мне нужно определить временную метку первого и последнего электронного письма, отправленного из учетной записи Exchange, на каждый день, для которого существует такое письмо. Кроме того, для каждого дня мне нужно ранжировать слова, которые появляются в каждом письме, чтобы я мог сообщать трендовые слова за каждый день.

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

Я отказался от экспорта файла из Outlook в виде файла CSV, поскольку он включает в себя поля отметок времени в выводе, что является для меня решающим фактором.

Подход № 1:

Используйте Perl и Net :: POP3 , чтобы извлечь сообщения из папки «Входящие», отправить их, а затем вставить в базу данных MySQL.

Подход № 2:

Используйте Win32: OLE , чтобы попытаться действовать как правильный клиент Exchange, с той же целью.

1 Ответ

1 голос
/ 20 января 2010

Если вы используете Win32 :: OLE, вам придется использовать либо автоматизацию Outlook, либо библиотеки CDO. Я сделал и в предыдущей жизни, и это работает, но это немного больно.

Я бы предложил подход № 1, за исключением того, что я не могу представить, что Exchange на самом деле позволит вам получать отправленную почту через POP. Скорее, однако, Exchange можно включить для предоставления интерфейса IMAP, и IMAP, безусловно, должен позволять вам получать отправленные письма, не сталкиваясь с какими-либо проблемами, связанными с POP (например, заменой удаленных сообщений на сервере). Я не использовал его, но Mail :: IMAPClient кажется рекомендуемым модулем для этого.

...