電子メール本文にmHtmlを埋め込むように任命されました。問題は、mhtmlが通常のhtmlファイルではないため、電子メールに直接埋め込むことができないということです。C#を使用してMHTMLをHTMLに変換する
mhtmlをhtmlファイルに変換するにはどうすればよいですか?
おかげ
電子メール本文にmHtmlを埋め込むように任命されました。問題は、mhtmlが通常のhtmlファイルではないため、電子メールに直接埋め込むことができないということです。C#を使用してMHTMLをHTMLに変換する
mhtmlをhtmlファイルに変換するにはどうすればよいですか?
おかげ
私は、このリンク上の解決策 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;
}
}
私は、テキストエディタ(メモ帳++)で、このページから.mhtmlを開いて、HTMLはそのまま、ファイルにあるように見えます。すべてのCSSをスクロールダウンする必要があります。私は、base64データを扱うのではなく、ファイル内からHTMLテキストを抽出するためのものを作成します(何かがうまくいけば混乱させます)。