如何解码电子邮件主题?

7
我已发送了一封主题为“”的邮件。
[BILLING #PHY-945-49853]: [Ticket #12622] Payment Method

但是在消息的源代码中,该行如下所示:
Subject: =?UTF-8?B?W1NBTEVTICNCQk4tOTM1LTM3OTE3XTogW1RpY2tldCAjMTI2MjJdIFBheW1lbnQ=?=
=?UTF-8?B?IE1ldGhvZA==?=

它是以Base64编码的。我该如何使用php解码它回到原始的英文主题行?我已经试过使用php base64_decode($subject),但它无法将其解码为原始主题([BILLING #PHY-945-49853]: [Ticket #12622] Payment Method)。

我还附上了一个样本电子邮件消息:

Return-Path: .........
X-Original-To: ..........
Delivered-To: ........
Received: ......
X-DKIM: ........
Received:....
To: ....
Subject: =?UTF-8?B?W1NBTEVTICNCQk4tOTM1LTM3OTE3XTogW1RpY2tldCAjMTI2MjJdIFBheW1lbnQ=?=
=?UTF-8?B?IE1ldGhvZA==?=
From: =?UTF-8?B?U0FWVllFSE9TVElORyBTQUxFUw==?=
X-Priority: ..
X-MSMail-Priority: normal
X-MimeOLE: Produced By Kayako Fusion v4.01.204
X-Mailer: Kayako Fusion v4.01.204
Reply-To: .......
Date: .....
Content-Type: multipart/alternative;
boundary="=_1.64496c432f57488924404b338155a2d7"
MIME-Version: 1.0
Message-Id: ....

这是一条MIME格式的消息。如果您看到此消息,说明您的邮件阅读器不支持此格式。

--=_1.64496c432f57488924404b338155a2d7
Content-Type: text/plain;
charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline


------------------------------------------------------
Support Center:
Content-Type: text/html;
charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
1个回答

22

你可能在寻找iconv_mime_decode

从链接中可以看到:

string iconv_mime_decode ( string $encoded_header [, int $mode = 0 [, string $charset = 
ini_get("iconv.internal_encoding") ]] )
解码MIME头字段。
echo iconv_mime_decode($string);

返回:

Subject: [SALES #BBN-935-37917]: [Ticket #12622] Payment

mb_decode_mimeheader() 是在做同样的事情吗? - Slawa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接