2016-06-28 33 views
0

埋め込みイメージをOutlook MailItem(HTML-Body)から保存しようとしていますが、埋め込みイメージが格納されているプロパティと保存方法が見つかりません。埋め込みイメージをOutlook MailItemから保存します

プロパティの.Attachments(私はインデックス0を試しました)からイメージを取得しようとしましたが、その後、例外がスローされ、Array-indexが範囲外です。つまり、電子メールに添付ファイルがないことを意味します。

画像が「添付ファイル」に保存されていない場合、画像は保存されています。ファイルシステムに保存するにはどうすればよいですか?

ご回答いただきありがとうございます。

敬具 マティアス

+0

実際にメールアイテムオブジェクトに格納されているイメージはありますか?実際に格納されているサーバーを指している本体のhtml内のリンクになる可能性があります。また、[OutlookSpy](http://www.dimastr.com/outspy/home.htm)を使用してOutlookのOutlookオブジェクトをブラウズし、そのプロパティを確認することもできます。 –

+0

はい、イメージはmailitemオブジェクトに格納されます。 HTML-BodyのHTML-Textのリンクで見ることができます。そして残念ながら、PCにOutlookSpyをインストールすることはできません。 – hias116

+0

添付ファイルコレクションは1ではなく0です。 –

答えて

0

私が自分で解決策を発見しました。

問題は、私が他のスレッドによってMailItemにアクセスしていたことでした。私は理由を知らないが、このスレッドからあなたは添付ファイルを見ることができない。メール読書部を入れた後

this.Dispatcher.Invoke(new Action(() => { ... })); 

それはうまく動作します。次に、このコードでインラインイメージにアクセスできます。

if (mail.Attachments.Count > 0) 
{ 
    for (int i = 1; i <= mail.Attachments.Count; i++) 
    { 
     mail.Attachments[i].SaveAsFile(@"C:\Test\" + mail.Attachments[i].FileName); 
    } 
} 
関連する問題