我正在编写一个 PHP 服务来通过 WebDAV 查询 Exchange 服务器。该服务已经上线大约一个月,没有出现任何问题,但今天遇到了一些问题,因为邮箱中收到了一封具有以下主题行的电子邮件:
FW:每日审批报告:供应商/主 007297
该消息存储在文件“FW:每日审批报告:供应商/主站 007297.EML”中,并通过以下 URL 引用:
FW:%20Daily%20Approval%20Report:%20Vendor_xF8FF_Master%20007297.EML
我一直在使用PHPrawurlencode()
函数将消息文件名转换为其对应的 URL,但在本例中rawurlencode()
返回不匹配的字符串:
FW%3A%20Daily%20Approval%20Report%3A%20Vendor%2FMaster%20007297.EML
我不是 Exchange 专家,也不知道如何匹配它的编码。有人可以告诉我是否有一个映射可以用来编写我自己的函数?我假设简单地替换/
with \_xF8FF\_
跳过冒号将导致一个月后再次追查此错误,但谷歌并没有帮助生成完整的异常列表。
我用谷歌搜索了一下,但无法找到您正在寻找的角色的完整参考。
我唯一发现的是以下五个字符在 Exchange 中具有特殊编码:
- 正斜杠“/”编码为 _xF8FF_
- 问号“?”编码为_x003F_
- 反斜杠“\”编码为 _xF8FE_
- 波形符“~”编码为 _x007E_
- 欧元符号“€”编码为 _x0080_
也许看看会有所帮助来源 http://fossies.org/dox/evolution-exchange-3.5.2/e2k-uri_8c_source.html#l00280用于 Microsoft Exchange 的 Ximian 连接器,更准确地说是“e2k_uri_append_encoded http://fossies.org/dox/evolution-exchange-3.5.2/e2k-uri_8c.html#a9a00c4e734614372dfd1d4190c1fdc66" 函数,位于第 280 行。
Ximian Connector 使 Ximian Evolution 能够充当 Microsoft Exchange 客户端,通过 WebDAV 协议与 Microsoft Exchange 服务器进行通信,因此它必须完全处理您遇到的相同问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)