例外が発生したときに実行時にスワップインされる例外レポート変数のプレースホルダーを含む XML または HTML を使用してテンプレートを作成したいと考えています。これまでのテンプレートと動作は気に入っていますが、現時点ではすべてハードコーディングされているため、ひどいものです。
ここに私が持っているコードのサンプルがあります...
'Styling (Outlook does not follow CSS standards >:-( )
body = "<html><head>" & _
"<style type=""text/css"">" & _
" * {font:12px Arial, Helvetica, sans-serif;}" & _
" table {border-collapse:collapse;}" & _
" table.grid td {padding:0 7px;border:solid #ccc 1px;}" & _
" .bold {font-weight:bold;padding-right:12px;}" & _
"</style></head><body>"
'Partial template
body &= "<table><tr><td class=""bold"">Error:</td><td>" & ex.Message & "</td></tr>" & _
"<tr><td class=""bold"">Exception:</td><td>" & ex.GetType().FullName & "</td></tr>" & _
"<tr><td class=""bold"">Source:</td><td>" & ex.Source & "</td></tr>" & _
"<tr><td class=""bold"">Request Url:</td><td>" & Request.Url.ToString & "</td></tr></table><br />"
変数などに注意してくださいex.Message
。すべての HTML コードを別のファイル (推奨されるものに応じて XML または HTML、私が想像する XML) に、各エラー変数のプレースホルダーと共に移動したいと考えています。次に、テンプレートをロードし、変数を代入して、その場でメールを送信します。これを行うためのベストプラクティスは何ですか?
また、CSS を修正しようとしないでください。それはこの質問の目的ではありません。Outlook は標準に準拠していません (図を参照)。
ありがとう。;)