[英]how to decode the subject in an email?
我已發送主題行為的郵件
[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)
我還附上了一個示例 email 消息:
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
您可能正在尋找iconv_mime_decode 。
從鏈接:
string iconv_mime_decode ( string $encoded_header [, int $mode = 0 [, string $charset = ini_get("iconv.internal_encoding") ]] )
解碼 MIME header 字段。
你的例子:
echo iconv_mime_decode($string);
產量:
Subject: [SALES #BBN-935-37917]: [Ticket #12622] Payment
我也遇到了這個問題,並想出了一條替代路線來解決這個問題。 對於其他展望未來的人來說,這可能會有所幫助。
一旦我意識到消息的哪一部分實際上是字符串的 Base64 部分,我將這段代碼拼湊在一起;
if(stripos($subject, "=?utf-8?b?") !== false) {
$output = str_ireplace("=?utf-8?B?", "", $subject);
$output = str_replace("==?=", "", $output);
$output = base64_decode($output);
}else{
$output = $subject;
}
實際上,您正在做的是檢測字符串在面對 base64。 然后在使用base64_decode()
解碼之前修剪標識符
確保您使用不區分大小寫的字符串函數版本,因為並非所有郵件提供商都使用大寫或小寫。
**很抱歉回答一個老問題,但我發現這是一個更有用的選擇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.