发送到Hotmail的带编码的@符号(%40)的URL会在URL中转换为@

时间:2011-06-24 23:22:49

标签: php email url encoding

我有简单的PHP代码,可以通过电子邮件向用户发送URL,其中包含URL中包含的电子邮件地址。我已经使用rawurlencode()在发送电子邮件地址之前对其进行编码。

电子邮件客户端(本例中为Hotmail)正确显示URL,@符号编码为%40。但是,当我点击链接时,浏览器会再次转换为@,从而导致格式错误的网址。

有关如何确保电子邮件客户端或浏览器(不确定罪魁祸首是谁)的任何建议都不会将URL中的%40解码为@符号?请参阅下面的代码。

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

1 个答案:

答案 0 :(得分:0)

嗯,我不知道这是不是你的意思,但你可以做一些像%2540 ......

例如:

http://www.google.com/search?q=%2540

http://www.google.com/search?q=%40