Angularjs Gmail自动对邮件中的链接进行URL编码

Angularjs Gmail自动对邮件中的链接进行URL编码,angularjs,email,gmail,Angularjs,Email,Gmail,我正在尝试向gmail帐户发送一封电子邮件,其中包含如下链接: 这是指向AngularJS应用程序的链接,该应用程序需要第二个“#”作为分隔符。 问题是gmail将秒数“#”更改为“%23”,这会导致应用程序无法识别字符作为分隔符。 我能帮上什么忙吗 谢谢。我用gmail做了一个快速测试,试图找出发生了什么 这是原始信息 MIME-Version: 1.0 Received: by 10.96.50.232 with HTTP; Mon, 19 Jan 2015 05:44:30 -0800

我正在尝试向gmail帐户发送一封电子邮件,其中包含如下链接:

这是指向AngularJS应用程序的链接,该应用程序需要第二个“#”作为分隔符。
问题是gmail将秒数“#”更改为“%23”,这会导致应用程序无法识别字符作为分隔符。
我能帮上什么忙吗


谢谢。

我用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--
MIME版本:1.0
接收:通过10.96.50.232和HTTP;2015年1月19日星期一05:44:30-0800(太平洋标准时间)
日期:2015年1月19日星期一14:44:30+0100
发送至:******@gmail.com
消息ID:
主题:测试
发件人:
致:
内容类型:多部分/备选;边界=20CF303B4179134A6050D0185F4
--20CF303B4179134A6050D0185F4
内容类型:文本/纯文本;字符集=UTF-8
http://www.example.com/#/something#param=1
--20CF303B4179134A6050D0185F4
内容类型:text/html;字符集=UTF-8

--20CF303B4179134A6050D0185F4--
原始消息显示了正确的值,但我也注意到我的实际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
MIME版本:1.0
接收:通过10.96.50.232和HTTP;2015年1月19日星期一06:06:39-0800(太平洋标准时间)
日期:2015年1月19日星期一15:06:39+0100
发送至:******@gmail.com
消息ID:
主题:测试4
发件人:
致:
内容类型:文本/纯文本;字符集=UTF-8
http://www.example.com/#/something#param=1

我不知道AngularJS应用程序如何读取电子邮件中的链接,因此纯文本可能不是一个选项,但上面电子邮件中的链接映射到
http://www.example.com/#/something#param=1
在我的gmail客户端。

您是否尝试过设置内容类型:text/html;charset=“UTF-8”?对于电子邮件?它已经这样设置了..谢谢@Scherling,但是这种内容类型不会阻止我在mt消息中发送HTML吗?@EphiGabay正如我所说,这实际上取决于AngularJS应用程序如何处理电子邮件中的数据。如果您只需要一个url,就不需要对其进行html编码。据我所知,你无法阻止gmail将原始电子邮件翻译成编码格式,这会破坏你的链接。因此,如果纯文本不起作用,我看到的唯一解决方案是在接收消息的Angular应用程序中修复它。我确实需要在电子邮件中发送html,而不仅仅是链接,因此将电子邮件编码为text/plain对我没有帮助。非常感谢您的帮助:)