2012-01-24 10 views
1

EWSを使用して、インラインアタッチメント付きの電子メールを送信しています。ewを使用したインラインアタッチメントの送信

私はそれのための使用、次のコードです:メッセージの

var attachment = attachments.AddFileAttachment(path); 
attachment.ContentId = cid; 
attachment.IsInline = true; 
attachment.ContentType = "PNG/Image"; 

のHTML本体は、{CIDが} CIDフィールドの値である断片

<img src=""cid:{cid}""></img> 

を以下含有します。

Outlookでメールをチェックすると動作しますが、OWAの画像はメッセージ本文に表示されません。

OWAで表示するには、EWSを介してインラインイメージでメールを送信するようにしてください。

+0

こんにちは、その解決策を見つけましたか? –

答えて

1

以下のコードは私のために働き、Outlook/OWA/Mobileのインライン添付を見ることができます。

ステップ:contentids

  • のプレースホルダと

    1. HTML本体実際の添付ファイルのcontentids

    2. とプレースホルダは、新しい添付ファイルを作成し、インライン(真)のプロパティを設定することを交換し、 contentid(関連付けられた添付ファイルの実際のcontentid)

      string attachment = "c:\\inlineattachment.png"; 
      
          // Create an e-mail message using the ExchangeService. 
          EmailMessage message = new EmailMessage(ExchangeServiceObject); 
      
          // Subject 
          message.Subject = "Email with inline attachments"; 
      
          // Message body with place holder for contentid 
          message.Body = "Email body with inline attachment </br> <img src=\"cid:{0}\">"; 
          message.Body.BodyType = BodyType.HTML; 
      
          // Replace the place holder with contentid 
          // Random GUID is used to avoid name collision for contentids 
          string newGuid = Guid.NewGuid().ToString(); 
          message.Body = string.Format(message.Body, newGuid); 
      
          // Create a new attachment and add necessary properties to make it inline 
          message.Attachments.AddFileAttachment(attachment); 
          message.Attachments[message.Attachments.Count - 1].IsInline = true; 
          message.Attachments[message.Attachments.Count - 1].ContentId = newGuid; 
      
          // Add recipeint 
          message.ToRecipients.Add("[email protected]"); 
      
          // Send the e-mail message and save a copy. 
          message.SendAndSaveCopy(); 
      
  • 関連する問題