私は、SMTP経由で送信されるプレーンテキストメールにUnicode文字を追加したいと考えています。私たちの実装はUnicodeはこの方法をコードに指定することが容易になり、.NETのSystem.Net.Mail、に基づいています。SMTPのUnicode:何の理由もありませんか?
message.BodyEncoding = System.Text.Encoding.UTF8;
でも英語のため、Unicodeに切り替え、私は箇条書きを含めることができるようになる(UnicodeコードポイントU +2022 =•)を入力します。別のHTML電子メール本文では、箇条書きのリストに<ul>
要素を使用できますが、プレーンテキストの電子メールでは、箇条書きにアスタリスクまたはダッシュを使用するよりも醜い解決策が欲しいと思います。
SMTPでUnicodeエンコーディングを使用することには欠点がありますか?このエンコーディングのために受信者の中にはメールを受信したり読むことができないと心配する必要がありますか?
SMTPは心配する必要はありません。これはトランスポートであり、すべてのコンテンツを処理します。受信者 - Unicodeを使用するように更新されていないシステムでコマンドライン電子メールリーダーを使用しているUnixの中毒者に送信しない限り、あなたは大丈夫です –
デフォルトでは、SMTPはUTF-8などの8ビットデータの転送をサポートしていません。 SMTPサーバはSMTPプロトコルへの8BIT拡張をサポートしなければならず、クライアントはそれらの使用を要求しなければならないか、電子メールは 'base64'や' quoted-printable'のような7bitフレンドリなトランスポートエンコーディングでエンコードされなければなりません。 –