當電子郵件地址中出現 `=?iso8859-1?B?`...`?=` 時會發生什麼情況?

當電子郵件地址中出現 `=?iso8859-1?B?`...`?=` 時會發生什麼情況?

我在電子郵件地址中看到諸如=?iso8859-1?B?...之類的內容。?=我認為這是在一些 RFC 中定義的。有人能解釋一下在哪裡嗎?當一切都是 Unicode 時,這是否已經過時了?

答案1

這是 MIME 格式電子郵件(即基本上所有電子郵件)中使用的 RFC 2047「編碼字」格式,用於將 8 位元資料裝入 7 位元 ASCII。它與 HTTP GET 或查詢字串無關。

Encoded-word 之於標頭就像Content-Transfer-Encoding 之於訊息正文– 兩者都使用Base64 或Quoted-Printable 格式將8 位元資料轉換為7 位元ASCII 數據,兩者都是訊息中的常見情況。

但是,通常您不應該在郵件應用程式中看到此類編碼文字(除非查看訊息來源)—它應該始終在 UI 中顯示為已解碼。如果郵件應用程式向您顯示原始編碼字,則很可能無法正確解碼(例如寄件者指定了錯誤的字元集)。

這種格式並沒有被 Unicode 廢棄;它完成了不同的任務並且同樣適用於所有字元集。事實上,您會經常看到 Unicode 文字被編碼為=?utf-8?....

然而,它可能已被 SMTP「8BITMIME」擴充廢棄。與許多電子郵件一樣,它來自一個時代,其中一些網絡不是“8 位乾淨的”,並且可能會丟棄或破壞高位的值- 對於在TCP/IP 上運行的現代SMTP 軟體來說,這已不再適用。

答案2

最有可能的是,這是一封由軟體產生的電子郵件,該軟體的插件配置錯誤或編寫得不好。 “=”和“?”可能表示 GET 參數正在某個函數中傳遞(並被錯誤解釋/錯誤排列)。

請參閱範例:(https://magento.stackexchange.com/questions/37663/plugin-email-sender-in Correctly-uses-iso-8859-1)其中OP引用了基於錯誤的類似修改。

來自:=? (...) =[電子郵件受保護]

相關內容