System.Net.Mail を使用するときに電子メールをフォーマットする最適な方法は何ですか?
-
19-08-2019 - |
質問
こんにちは、私は使っています System.Net.Mail
HTML 形式の電子メールを送信します。
電子メール メッセージに CSS を挿入する正しい方法は何ですか?
各項目に書式設定を適用できることはわかっていますが、スタイル シートを使用したいと考えています。
編集これは内部アプリケーション用であり、ユーザーの 99% が Outlook またはその他のクライアントを使用していると予想されますが、hotmail や Gmail などは決して使用しないことを述べるべきでした。
解決
HTML 3.0互換のタグとフォーマットを厳密に使用するは、すべてのメールリーダーとプロバイダーに最適であることが常にわかっています。
それにもかかわらず、 CSS in Email の記事は、質問に答えれば、CSSの問題の解決策が見つかります。
他のヒント
電子メールクライアントはCSSを一定の方法で使用しないため、CSSを使用することは困難です。この記事は役立ちます- http://www.alistapart.com/articles/cssemail/
通常のCSSファイルにスタイルを保持し、 File.ReadAllText をHTMLレターテンプレートに挿入します
string letter = File.ReadAllText(Request.PhysicalApplicationPath + "letter.html");
string style = File.ReadAllText(Request.PhysicalApplicationPath + "style.css");
MailMessage message = new MailMessage();
message.Body = letter.Replace("{STYLE}", style);
レターテンプレートには、{STYLE}が適切な場所に含まれている必要があります
<head>
<title></title>
<style type="text/css">
{STYLE}
</style>
</head>
<body>
このリファレンス これは、電子メールの CSS に関して何が機能するかを確認するために私が見つけた最良のものです。
ただし、正直に言うと、CSS サポートは非常に不安定なので、前の投稿者が言うように、基本的な HTML に固執する方が良いでしょう (もちろん、それは古いフォント タグなどを使用することを意味します)。特にあなたがOutlookについて言及しているように、ひどいCSSサポートに関しては、それ(少なくとも最新バージョン)が最悪の原因です。