Subject: =?gb2312?Q?=C8=BA=D3=A2=BF=AA=BB=A7=C0=F1=BD=F018=2E=BF=AA=BB=A7=C0=F1=BD=F018=2E8=A3=AC=C7=E1=C7=E1=CB=C9=CB=C9=C1=EC=BB=D8=BC=D2 ?=
Sender: "=?gb2312?Q?=C8=BA=D3=A2?=" <[email protected]>
From: "=?gb2312?Q?=C8=BA=D3=A2?=" <[email protected]>
Date: Mon, 16 Feb 2015 11:58:13 +0800subject和sender后面的信息跟普通邮件显示的不一样,这是加密了吗?是什么加密方式,如何解密呢

解决方案 »

  1.   

    邮件解码示例$s = '?gb2312?Q?=C8=BA=D3=A2=BF=AA=BB=A7=C0=F1=BD=F018=2E=BF=AA=BB=A7=C0=F1=BD=F018=2E8=A3=AC=C7=E1=C7=E1=CB=C9=CB=C9=C1=EC=BB=D8=BC=D2 ?=';
    $a = explode('?', $s);
    if($a[2] == 'Q') $a[3] = quoted_printable_decode($a[3]);
    if($a[2] == 'B') $a[3] = base64_decode($a[3]);
    echo iconv($a[1], 'utf-8', $a[3]);群英开户礼金18.开户礼金18.8,轻轻松松领回家 
      

  2.   

    感谢版主回答,这是如何还原的呢?base64还原的吗?
      

  3.   

    Sender: "=?gb2312?Q?=C8=BA=D3=A2=D3=E9=C0=D6?=" <[email protected]>
    From: "=?gb2312?Q?=C8=BA=D3=A2=D3=E9=C0=D6?=" <[email protected]>说实话我就想弄明白这2段话。sender发件人是谁,from发信IP是什么
      

  4.   

    @xuzuning 
      

  5.   

    $s =<<< TXT
    Subject: =?gb2312?Q?=C8=BA=D3=A2=BF=AA=BB=A7=C0=F1=BD=F018=2E=BF=AA=BB=A7=C0=F1=BD=F018=2E8=A3=AC=C7=E1=C7=E1=CB=C9=CB=C9=C1=EC=BB=D8=BC=D2 ?=
    Sender: "=?gb2312?Q?=C8=BA=D3=A2?=" <[email protected]>
    From: "=?gb2312?Q?=C8=BA=D3=A2?=" <[email protected]>
    Date: Mon, 16 Feb 2015 11:58:13 +0800
    TXT;$charset = 'utf-8';
    echo $s = preg_replace_callback('/(=\?)(\S+)\s*\?=/', function($m) use($charset) {
      $t = explode('?', $m[2]);
      if($t[1] == 'Q') return iconv($t[0], $charset, quoted_printable_decode($t[2]));
      if($t[1] == 'B') return iconv($t[0], $charset, base64_decode($t[2]));
    }, $s);Subject: 群英开户礼金18.开户礼金18.8,轻轻松松领回家
    Sender: "群英" <[email protected]>
    From: "群英" <[email protected]>
    Date: Mon, 16 Feb 2015 11:58:13 +0800
    邮件通常用 quoted 或 base64 编码,php 都提供有相应的函数