我们正在使用一个服务台应用程序,该应用程序使用 Exhange Web 服务 (EWS) 发送电子邮件。但是当发送带有图像(通常是屏幕截图)的电子邮件时,图像没有显示。在 Outlook 中右键单击选择视图源时,我们可以像这样设置损坏的图像 har 编码:
<img width=100 height=100 id="1" src="cid:<helge.jpg>">.
该图像在 Gmail、Outlook.com 等网络邮件客户端上也损坏了。
有趣的是,从 Servicedesk 应用程序向同一 Exchange 服务器的用户发送图像时,图像显示正确。
我们的程序员查看了 EWS 的文档:
ServiceDesk 应用程序的程序员提供了他们用于 EWS 的代码:
fileAttachment.ContentId = string.Concat("<", str, ">");
因此,基于 Microsoft 的示例,他们在 id 周围添加了 < 和 >,但 Microsoft 的示例没有。
我们的程序员使用:
email.Attachments[0].ContentId = "WithoutAnglebrackets.jpg";
email.Attachments[1].ContentId = "<WithAnglebrackets.jpg>";
这导致第一个附件显示在电子邮件中,而不是另一个。
服务台程序员指的是https://www.rfc-editor.org/rfc/rfc2392,允许使用尖括号。
他们还告诉我们,该应用程序正在他们的 Exchange 2010 上运行。(我们正在使用 Exchange 2013)。
那么这是交换问题吗?还是程序员错误地添加了尖括号?