在 PHP 中使用 imap_open() 打开本地 mbox 邮件存档

发布于 2024-11-25 14:08:14 字数 109 浏览 2 评论 0原文

我正在尝试通过文件访问读取从本地另一台服务器导出的 mbox 电子邮件存档,但无论出于何种原因,我尝试的所有操作都失败了。是否有一些神奇的技巧可以解析本地文件并使用 PHP 的内置 IMAP 功能访问它?

I'm attempting to read an mbox email archive exported from another server locally, via file access, but for whatever reason everything I've tried fails. Is there some magical trick to parse a local file and access it with PHP's built-in IMAP functionality?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

-小熊_ 2024-12-02 14:08:14

您应该能够使用 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')

You should be able to use PHP's built-in IMAP functionality. Have you tried something like this:

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;
   }
}

And call this with the respective correct path:

openLocal('/home/email/temp/mailbox')
红颜悴 2024-12-02 14:08:14

我发现接受的答案还不够,尽管它确实为我指明了正确的方向。

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;

I didn't find the accepted answer sufficient, though it did point me in the right direction.

PHP's IMAP library can be used to parse local .mbox files, such as the ones from Gmail exports.

Importantly, the path must be absolute, it cannot be relative to the current folder.

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

You can then get retrieve information with imap functions, such as the subject:

$headers = imap_headerinfo($imap, 0); // Second parameter is the message number
$subject = $headers->subject;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文