使用 imap_fetchbody 时的神秘邮件正文

高滚先生

我正在使用以下代码来提取邮件的邮件正文。

$imap = imap_open($mailbox,$user,$password);
$mails = imap_search($imap,'UNSEEN');
foreach($mails as $mail)
{
  $message = trim(utf8_encode(quoted_printable_decode(imap_fetchbody($imap,$mail,"1"))));

  if(strpos($message,"<html") !== false)
  {
    $mail_body = fopen($dir."mail.html","w");
  }
  else
  {
    $mail_body = fopen($dir."mail.txt","w");
  }
}

这工作正常,它适用于我所做的每个测试。html-mails,纯文本邮件,如果邮件被转发。

现在我从其他一些来源收到邮件,其中的消息(在使用 imap_fetchbody 之后)看起来像一些加密的字符串。像这样:

dGVpZW4gaW0gUERGLUZvcm1hdDoNClJla2xhbWF0aW9uc2luZm9ybWF0aW9uOiAyMTMzNjc0MSBS SV8yMTMzNjc0MS5wZGYNCg0KTWl0IGZyZXVuZGxpY2hlbiBHcsO8w59lbg0KSWhyIG5vYmlsaWEg VGVhbQ0KX19fDQoNCm5vYmlsaWEtV2Vya2UgSi4gU3RpY2tsaW5nIEdtYkggJiBDby4gS0cgfCBX YWxkc3RyLiA1My01NyB8IDMzNDE1IFZlcmwNCg0KRGllIEdlc2VsbHNjaGFmdCBpc3QgZWluZSBL

我已经尝试为 imap_fetchbody 使用一些其他参数,例如“1.1”或“1.2”,但是当我这样做时,消息是空的。

你知道为什么会出现这种效果吗?

高滚先生

我终于找到了解决方案。原因似乎是转发的邮件,最初是从苹果设备发送的。

现在我用它来提取消息并且它有效。

    $structure = imap_fetchstructure($imap, $mail);
    $part = $structure->parts[1];
    $message = imap_fetchbody($imap,$mail,1);
    if(strpos($message,"<html") !== false)
    {
      $message = trim(utf8_encode(quoted_printable_decode($message)));
    }
    else if($part->encoding == 3)
    {
      $message = imap_base64($message);
    }
    else if($part->encoding == 2)
    {
      $message = imap_binary($message);
    }
    else if($part->encoding == 1)
    {
      $message = imap_8bit($message);
    }
    else
    {
      $message = trim(utf8_encode(quoted_printable_decode(imap_qprint($message))));
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP imap_fetchbody

来自分类Dev

使用php中的imap通过gmail获取邮件时,正文内容无法正确显示

来自分类Dev

无法对从imap_fetchbody函数获取的消息应用字符串函数

来自分类Dev

如何在go中获取电子邮件正文(使用imap)?

来自分类Dev

使用onReceive()分割邮件正文

来自分类Dev

在使用Mule imap入站阅读邮件时如何获取邮件附件名称?

来自分类Dev

如何使用Python读取邮件的邮件正文?

来自分类Dev

在Linux中使用mail命令时,如何在电子邮件正文中回显多行?

来自分类Dev

使用MIME生成HTML电子邮件时,附件可以显示在Lotus Notes电子邮件正文中吗?

来自分类Dev

使用Django时的神秘PostgreSQL日志条目

来自分类Dev

使用HaskellNet的IMAP从电子邮件中获取主题时出错

来自分类Dev

使用IMAP时,如何使Thunderbird不将电子邮件存储在远程服务器上?

来自分类Dev

使用Imap-邮件编码怪异

来自分类Dev

使用Go从Gmail API解码邮件正文

来自分类Dev

搜索电子邮件正文而不下载-IMAP

来自分类Dev

Rails使用IMAP访问Yahoo邮件-解析电子邮件

来自分类Dev

使用HTML正文在Google Apps脚本中使用发送邮件

来自分类Dev

使用HTML正文在Google Apps脚本中使用发送邮件

来自分类Dev

使用 node mail-notifier2 模块侦听新邮件事件时,imap 凭据不起作用

来自分类Dev

在imap授权登录形式中使用错误密码和电子邮件时如何避免警告?

来自分类Dev

Haskell:使用“ putStr”时出现神秘的“数组索引错误”

来自分类Dev

使用zeep访问BRENDA时发生神秘错误

来自分类Dev

如何使用php imap获取电子邮件的每个主题?

来自分类Dev

JavaMail使用IMAP读取最近未读的邮件

来自分类Dev

等待电子邮件使用Node-imap到达

来自分类Dev

如何使用python IMAP下载邮件的所有附件

来自分类Dev

使用异步/等待功能通过Imap检索电子邮件

来自分类Dev

IMAP客户端使用Perl处理电子邮件

来自分类Dev

如何使用imap备份邮件,以后如何阅读?

Related 相关文章

  1. 1

    PHP imap_fetchbody

  2. 2

    使用php中的imap通过gmail获取邮件时,正文内容无法正确显示

  3. 3

    无法对从imap_fetchbody函数获取的消息应用字符串函数

  4. 4

    如何在go中获取电子邮件正文(使用imap)?

  5. 5

    使用onReceive()分割邮件正文

  6. 6

    在使用Mule imap入站阅读邮件时如何获取邮件附件名称?

  7. 7

    如何使用Python读取邮件的邮件正文?

  8. 8

    在Linux中使用mail命令时,如何在电子邮件正文中回显多行?

  9. 9

    使用MIME生成HTML电子邮件时,附件可以显示在Lotus Notes电子邮件正文中吗?

  10. 10

    使用Django时的神秘PostgreSQL日志条目

  11. 11

    使用HaskellNet的IMAP从电子邮件中获取主题时出错

  12. 12

    使用IMAP时,如何使Thunderbird不将电子邮件存储在远程服务器上?

  13. 13

    使用Imap-邮件编码怪异

  14. 14

    使用Go从Gmail API解码邮件正文

  15. 15

    搜索电子邮件正文而不下载-IMAP

  16. 16

    Rails使用IMAP访问Yahoo邮件-解析电子邮件

  17. 17

    使用HTML正文在Google Apps脚本中使用发送邮件

  18. 18

    使用HTML正文在Google Apps脚本中使用发送邮件

  19. 19

    使用 node mail-notifier2 模块侦听新邮件事件时,imap 凭据不起作用

  20. 20

    在imap授权登录形式中使用错误密码和电子邮件时如何避免警告?

  21. 21

    Haskell:使用“ putStr”时出现神秘的“数组索引错误”

  22. 22

    使用zeep访问BRENDA时发生神秘错误

  23. 23

    如何使用php imap获取电子邮件的每个主题?

  24. 24

    JavaMail使用IMAP读取最近未读的邮件

  25. 25

    等待电子邮件使用Node-imap到达

  26. 26

    如何使用python IMAP下载邮件的所有附件

  27. 27

    使用异步/等待功能通过Imap检索电子邮件

  28. 28

    IMAP客户端使用Perl处理电子邮件

  29. 29

    如何使用imap备份邮件,以后如何阅读?

热门标签

归档