2011-01-31 8 views
2

送信された電子メールの本文を取得して共有フォルダに格納する必要があります。 電子メールから添付ファイルを取り出して保存するために、次のコードサンプルを用意しました。Emailmessageクラスを使用してメッセージ本文を取得する

EmailMessage message = EmailMessage.Bind(service, new ItemId(item.Id.ToString()), 
new PropertySet(BasePropertySet.IdOnly, ItemSchema.Attachments)); 

foreach (Attachment attachment in message.Attachments) 
{ 

    if (attachment is FileAttachment) 
    { 
     FileAttachment fileAttachment = attachment as FileAttachment; 

     // Load attachment contents into a file. 
     fileAttachment.Load("C:\\CodeCopy\\Email\\temp\\" + fileAttachment.Name); 

同様に、EmailMessage.bodyプロパティを使用する場合は、どのように使用するのですか。 私は初心者ですから、詳しい回答をお願いします。

答えて

1

その後、文字列として本文の内容を取得し、ファイルにその文字列を書くためにそのToString()メソッドを呼び出して、あなたのメッセージのボディを表すオブジェクトを取得するにはEmailMessage.Bodyプロパティを使用することができます。

using System.IO; 
using System.Text; 
using Microsoft.Exchange.WebServices.Data; 

EmailMessage message = EmailMessage.Bind(service, new ItemId(item.Id.ToString()), 
    new PropertySet(BasePropertySet.IdOnly, ItemSchema.Attachments)); 
using (StreamWriter writer = new StreamWriter(String.Format(
     CultureInfo.InvariantCulture, @"C:\CodeCopy\Email\temp\{0}.body.txt", 
     item.Id.ToString().Replace('\\', '_')))) { 
    writer.Write(message.Body.ToString()); 
} 
+0

感謝をあなたはあなたのために返信します。私はまた、EmailMessage.save()というプロパティがあることを観察します。私の要求によると、メッセージを.msgファイルとして保存する必要があることに気付きました。このプロパティを使用して(保存)、メッセージを.msgファイルとして保存できますか?もしそうなら、私はどのように使用するのですか? – Kruthika

+0

悲しいかな、私が知っている限り[Save()](http://msdn.microsoft.com/en-us/library/microsoft.exchange.webservices.data.item.save.aspx)は、実際のファイルではなく、Exchangeフォルダです。 –

+0

こんにちは、 上記のコードを実行中にこの特定のエラーがスローされます。メッセージ本文に基づいて新しいフォルダを作成しようとしましたか? はパス「Cの一部が見つかりませんでした:\ CodeCopy \メール\ tempに\ AAMkAGRiYW [ランダムな文字の多くが切り取ら] wrGAAAw2bxUAAAAThcVX おかげで、 Kruthika – Kruthika

関連する問題