2011-06-24 147 views
1

我有簡單的PHP代碼,通過電子郵件將URL發送給用戶,其中包含URL中包含的電子郵件地址。在發送之前,我使用rawurlencode()對電子郵件地址進行編碼。發送到Hotmail的已編碼@符號(%40)的URL在URL中被轉換爲@

電子郵件客戶端(本例中爲Hotmail)使用以%40編碼的@符號正確顯示URL。但是,當我點擊鏈接時,瀏覽器會再次轉換爲@導致URL格式不正確。

關於如何確保電子郵件客戶端或瀏覽器(不確定誰是罪魁禍首)的任何建議都不會將URL中的%40解碼爲@符號?見下面的代碼。

$resetlink = "http://www.domain.com/resetpassword/".rawurlencode($email)."/".$email_hash; 

回答