使用PHP保存电子邮件中的文件

时间:2017-12-05 03:33:51

标签: php

我正在写一封来自IMAP的电子邮件。我已经编写了我的代码,以便它可以查找两个附件和内嵌图像。

一切都很好,但我在保存附件内容的file_put_contents部分遇到了问题。

我只是将$object['attachment']作为对它应该是什么的最佳猜测,因为我不知道如何从数组中获取它。

$inbox = imap_open($hostname,$username,$password);

$emails = imap_search($inbox,'ALL');

if ($emails) {

  rsort($emails);

  foreach($emails as $n)  {

    $structure = imap_fetchstructure($inbox,$n);

    foreach($structure->parts AS $object) {

      if (strtolower($object->disposition) == "attachment") {

        foreach ($object->dparameters AS $object2) {
          if(strtolower($object2->attribute) == "filename")
            $filename = $object2->value;
        }
        //file_put_contents($filename, base64_decode($object['attachment']));
      }

      foreach($object->parts AS $object2) {
        if (strtolower($object2->disposition) == "inline") {

          foreach ($object2->dparameters AS $object3) {
            if(strtolower($object3->attribute) == "filename")
              $filename = $object3->value;
          }
          //file_put_contents($filename, base64_decode($object['attachment']));
        }
      }

    }
  }
}

0 个答案:

没有答案