2011-04-07 106 views
0

我發送的是html格式的自動郵件。我在郵件中提供了一個指向具有相同(=)符號的url的鏈接。例如:http://mail.com?hello=10_world 此網址被替換爲http://mail.com?hello%10_world,即=符號被gmail/outlook中的%符號替換。電子郵件的包含=符號被gmail/outlook中的某些字符替換

我是否缺少一些東西?

+1

我不確定,但我相信您的電子郵件中的網址正在進行網址編碼。嘗試在C#中使用URLEncode()或URLDecode()方法。我不會把這作爲答案,因爲這只是一個猜測。 – 2011-04-07 09:56:43

回答

4

該電子郵件使用帶引號的可打印,因此代碼=10表示字符代碼爲10的字符,即換行符(LF)。如果在URL中找到換行符,則必須進行URL編碼才能創建鏈接,因此它使用序列%10進行編碼。

所以,它不是由%更換=,它是被解碼爲LF,然後編碼爲%10=10

要將=中的字符引用爲可打印,您需要將其轉義爲=3D

+0

作爲一個明確知道他的東西的人而寫。 – 2011-04-07 10:06:29

+0

現在我編碼使用HttpUtility.UrlEncode該網址,現在其工作正常..但不知道是否別的東西會打破這個或不。 – nimi 2011-04-07 10:19:08

相關問題