2016-05-12 15 views
0

電子メール本文にmHtmlを埋め込むように任命されました。問題は、mhtmlが通常のhtmlファイルではないため、電子メールに直接埋め込むことができないということです。C#を使用してMHTMLをHTMLに変換する

mhtmlをhtmlファイルに変換するにはどうすればよいですか?

おかげ

答えて

1

私は、このリンク上の解決策 http://www.adhocgeek.com/2012/11/sending-ssrs-generated-mhtml-with-system-net-mail/

ソリューションはMHTML内部Base64でエンコードされたとしてHTMLを抽出することがわかりました。

var decoded_text = new StringBuilder(); 
using (var reader = new StreamReader(mhtFile)) 
{ 
    while (!reader.EndOfStream) 
    { 
     var line = reader.ReadLine(); 
     if (line != "Content-Transfer-Encoding: base64") continue; 

     reader.ReadLine(); //chew up the blank line 
     while ((line = reader.ReadLine()) != String.Empty) 
      if (line != null) 
       decoded_text.Append(
        Encoding.UTF8.GetString(
         Convert.FromBase64String(line))); 
     break; 
    } 
} 
0

私は、テキストエディタ(メモ帳++)で、このページから.mhtmlを開いて、HTMLはそのまま、ファイルにあるように見えます。すべてのCSSをスクロールダウンする必要があります。私は、base64データを扱うのではなく、ファイル内からHTMLテキストを抽出するためのものを作成します(何かがうまくいけば混乱させます)。

関連する問題