我發送的是html格式的自動郵件。我在郵件中提供了一個指向具有相同(=)符號的url的鏈接。例如:http://mail.com?hello=10_world 此網址被替換爲http://mail.com?hello%10_world,即=符號被gmail/outlook中的%符號替換。電子郵件的包含=符號被gmail/outlook中的某些字符替換
我是否缺少一些東西?
我發送的是html格式的自動郵件。我在郵件中提供了一個指向具有相同(=)符號的url的鏈接。例如:http://mail.com?hello=10_world 此網址被替換爲http://mail.com?hello%10_world,即=符號被gmail/outlook中的%符號替換。電子郵件的包含=符號被gmail/outlook中的某些字符替換
我是否缺少一些東西?
該電子郵件使用帶引號的可打印,因此代碼=10
表示字符代碼爲10的字符,即換行符(LF)。如果在URL中找到換行符,則必須進行URL編碼才能創建鏈接,因此它使用序列%10
進行編碼。
所以,它不是由%
更換=
,它是被解碼爲LF
,然後編碼爲%10
的=10
。
要將=
中的字符引用爲可打印,您需要將其轉義爲=3D
。
作爲一個明確知道他的東西的人而寫。 – 2011-04-07 10:06:29
現在我編碼使用HttpUtility.UrlEncode該網址,現在其工作正常..但不知道是否別的東西會打破這個或不。 – nimi 2011-04-07 10:19:08
我不確定,但我相信您的電子郵件中的網址正在進行網址編碼。嘗試在C#中使用URLEncode()或URLDecode()方法。我不會把這作爲答案,因爲這只是一個猜測。 – 2011-04-07 09:56:43