Exhange Web Service (EWS) を使用して電子メールを送信する servicedesk アプリケーションを使用しています。しかし、画像 (通常はスクリーンショット) を含む電子メールを送信すると、画像が表示されません。Outlook で選択したビュー ソースを右クリックすると、壊れた画像が次のようにハーコーディングされていることがわかります。
<img width=100 height=100 id="1" src="cid:<helge.jpg>">.
Gmail や Outlook.com などの Web メール クライアントでも画像が壊れます。
面白いことに、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>";
これにより、最初の添付ファイルが電子メールに表示されますが、他の添付ファイルは表示されません。
servicedesk プログラマーはhttps://www.rfc-editor.org/rfc/rfc2392を参照しており、角かっこが許可されています。
また、アプリケーションが Exchange 2010 で動作しているとのことです (Exchange 2013 を使用しています)。
これはExchangeの問題ですか?または、角括弧を追加することでプログラマーが間違っていますか?