URL с закодированным знаком @ (%40), отправленный в Hotmail, преобразуется в @ в URL

У меня есть простой код PHP, который отправляет URL-адрес пользователю по электронной почте с адресом электронной почты, включенным в URL-адрес. Я использовал rawurlencode() для кодирования адреса электронной почты перед его отправкой.

Почтовый клиент (в данном случае Hotmail) правильно отображает URL со знаком @, закодированным как%40. Однако, когда я нажимаю на ссылку, браузер снова преобразуется в @, что приводит к неправильному URL.

Любые предложения о том, как обеспечить, чтобы почтовый клиент или браузер (не уверен, кто является виновником) не расшифровал% 40 в URL-адресе в знак @? Смотрите код ниже.

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

1 ответ

Решение

Ну, я не знаю, если вы это имели в виду, но вы могли бы сделать что-то вроде%2540...

например:

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

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

Другие вопросы по тегам