Откройте локальный почтовый архив mbox с помощью imap_open() в PHP

Я пытаюсь прочитать архив электронной почты mbox, экспортированный с другого сервера локально, через доступ к файлу, но по какой-то причине все, что я пробовал, не получается. Есть ли какая-то волшебная уловка для анализа локального файла и доступа к нему с помощью встроенной в PHP функциональности IMAP?

2 ответа

Решение

Вы должны быть в состоянии использовать встроенную в PHP функциональность IMAP. Вы пробовали что-то вроде этого:

function openLocal($file_path) {     
    $mbox = imap_open("$file_path",'','');
   if (!mbox) {
      $errorMsg = imap_last_error(); // do something with the error...
     return false;
   } else {
      return true;
   }
}

И назовите это с соответствующим правильным путем:

openLocal('/home/email/temp/mailbox')

Я не нашел принятого ответа достаточным, хотя он указал мне правильное направление.

Библиотека PHP IMAP может использоваться для разбора локальных .mboxфайлы, такие как файлы экспорта Gmail.

Важно, что путь должен быть абсолютным, он не может быть относительным к текущей папке.

      $imap = imap_open($path_to_mbox, '', '');

Затем вы можете получить информацию с помощьюimapфункции, такие как подлежащее:

      $headers = imap_headerinfo($imap, 0); // Second parameter is the message number
$subject = $headers->subject;
Другие вопросы по тегам