我正在尝试向包含以下链接的Gmail帐户发送电子邮件:
这是一个AngularJS应用程序的链接,需要第二个'#'作为分隔符
问题是gmail将秒'#'更改为'%23',这会导致应用程序不将char识别为分隔符。
我有什么可以做的吗?
感谢。
答案 0 :(得分:0)
我使用gmail进行了快速测试,试图弄清楚会发生什么。
这是原始消息
MIME-Version: 1.0
Received: by 10.96.50.232 with HTTP; Mon, 19 Jan 2015 05:44:30 -0800 (PST)
Date: Mon, 19 Jan 2015 14:44:30 +0100
Delivered-To: *******@gmail.com
Message-ID: <CPZt8dX3Q17wXmU7UT2iXp7q4tSn1UsDmyiUbXFVK7xE2Q0C10A@mail.gmail.com>
Subject: test
From: <name> <*******@gmail.com>
To: <name> <*******@gmail.com>
Content-Type: multipart/alternative; boundary=20cf303b41179134a6050d0185f4
--20cf303b41179134a6050d0185f4
Content-Type: text/plain; charset=UTF-8
http://www.example.com/#/something#param=1
--20cf303b41179134a6050d0185f4
Content-Type: text/html; charset=UTF-8
<div dir="ltr"><a href="http://www.example.com/#/something#param=1">http://www.example.com/#/something#param=1</a><br></div>
--20cf303b41179134a6050d0185f4--
原始邮件显示正确的值,但我也注意到我的实际gmail客户端如何显示第二个#作为html编码的%23。
令人惊讶的是,与我在评论中建议的相反,使用纯文本实际上会产生预期的结果。
MIME-Version: 1.0
Received: by 10.96.50.232 with HTTP; Mon, 19 Jan 2015 06:06:39 -0800 (PST)
Date: Mon, 19 Jan 2015 15:06:39 +0100
Delivered-To: *****@gmail.com
Message-ID: <KMBt8bX2CrmEL66iRFAJ+_s_1W2eodD=9X=bMdsBK_13qzh6DaA@mail.gmail.com>
Subject: test4
From: <name> <*****@gmail.com>
To: <name> <*****@gmail.com>
Content-Type: text/plain; charset=UTF-8
http://www.example.com/#/something#param=1
我不知道您的AngularJS应用程序如何从电子邮件中读取链接,因此纯文本可能不是一个选项,但上面的电子邮件中的链接映射到我的Gmail客户端中的http://www.example.com/#/something#param=1