【发布时间】:2014-10-13 11:20:18
【问题描述】:
我正在通过电子邮件发送一个链接,该链接相当长,因此经过一些谷歌搜索后,它建议发送带有链接作为实际链接的富文本电子邮件 - 我测试了此解决方案,但遇到了其他问题:
这是链接:
www.example.com/bridge/aHR0cDovL2QxbW8zdHp4dHRhYjNuLmNsb3VkZnJvbnQubmV0L3N0YXRpYy9yZW50YWxzLzcyMC9WSU5UMDA2Ni5tcDQ%2FaWQ9MTI3NSZFeHBpcmVzPTE0MTM0NTMyMjcmU2lnbmF0dXJlPUZvWDJvU2ZjVURwbjlIMzhWN3FCR0NqMWhMUTEyZGNaaXN%2BQ2lOTGZyVDVYWkNyeXZCejBNZEtQUjZFdHU2SmsySlI3OU04dldYeE1VRVRwNVhJNlgwVERLeHQyLWhUZUdQd0JPamZqLW9%2BaTBoM0hNb29pU0ZPZmE1MFhXMXhoLWZGNFlOMVFqdTY2UlhqU1oyODVSY2tpUkFxeU1zTFJDNlptdDI0ZEhNSmlITVI4Sld5QXhEOVlVcmxOOHc1OWxkVHkzNG5ySmFPazQySk1Ca2VQYnpUSVBxZWU5MXg0dmM3QVlsby1lampldzZodVBQVWx%2BWUxIbWhRYTJEdy12RFhqNFJ2blFYWVdUdnhkRmxBMXNTREgzRzdrRjg2N25tT240ZGNvTE53SW1VUWNoNH4xSTUtQ3ZudVQwQUh6UnZSc2FnbFY2US1IRmdKUUNTbzNCUV9fJktleS1QYWlyLUlkPUFQS0FJSTVPQlNRRUdZVzNSNVVB
链接是通过base 64编码一个字符串构建的(为了让它看起来更漂亮,我不喜欢只是URL编码的URL的外观)然后对这个进行url编码:
$url = urlencode(base64_encode($string));
然后我通过富文本电子邮件发送此内容,但部分 URL 正在被替换,例如。
DQ%2Fa
变成
DQ/a
为什么会发生这种情况,有办法解决吗?
我只是通过 OSX Mail 发送链接,但将来它会通过 Hotmail、Gmail 等发送。
【问题讨论】:
-
您是通过 HTML 邮件发送的吗?似乎它可能会被转换回来。
%2F确实是一个反斜杠。 obkb.com/dcljr/charstxt.html -
不要建立这样的长网址。浏览器对它们有长度限制,并且会默默地截断过长的。您可能会面临数据损坏的风险。
-
@MarcB 他在 2000 个字符内是安全的。他发布的链接大约有 600-700 个字符,所以我认为这很好。
-
我需要构建长 URL,这是 S3 的策略。它只是通过 OSX 邮件发送的。
-
你在 url 中传递什么样的数据?