我正在向在我网站上注册的人发送邮件。我想给他们一个选项来取消订阅我的邮件列表,但是会发生一个奇怪的错误。我有以下PHP代码:
$value = $_POST['email'];
在我的邮件正文中,我有:
'<a href="http://mywebsite.com/php/emailremove.php?mail=' . $value . '/">Click here to unsubscribe</a>'
当人们注册时,他们会在表单中填写他们的邮件地址,并且该表单会调用我的php脚本。我的php脚本将它发送到他们的邮件地址(工作正常),它还包括取消订阅链接。如果我检查hotmail上的链接,我看到@已经更改为%40(如果我复制链接)。如果我点击链接,它会更改为%2540,因为浏览器会再次将%转换为%25。
奇怪的是,如果我在iPhone上打开它,带有邮件地址的链接仍然带有@,如果我点击它,浏览器中的链接也会有@ ...所以使用hotmail它会被转换两次但是来自iOS的邮件根本没有转换?
我该如何解决这个问题?