2

次のようなコードを使用してメールを送信しています。

var smtp = new SmtpClient
     {
       Host = "smtp.gmail.com",
       Port = 587, //465?
       EnableSsl = true,
       DeliveryMethod = SmtpDeliveryMethod.Network,
       UseDefaultCredentials = false,
       Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
     };
using (var message = new MailMessage(fromAddress, toAddress)
     {
       Subject = subject,
       Body = body
     })
{
  smtp.Send(message);
}

...そして、それはただダンディに機能します。ただし、使用するフォントのサイズとスタイルを制御できるようにしたいと考えています (たとえば、Western 12)。

アップデート

見栄えの良いフォント (Western など) を引き続き使用したいのですが、主な問題は、本文に「ボックス」文字 (四角い文字) と呼ばれるものがあることでした。次のことがそのジレンマを修正することがわかりました。

body = body.Replace("�", "");

(ただし、メモ帳とVSエディターではボックスのようには見えませんが、置き去りにされた疑問符などのように見えます)-実際、ここでも、フォーマットされたバージョンの質問のように見えます。質問エディター (用語?) では、四角形/ボックスのように見えます。

4

2 に答える 2

4

MailMessage を HTML として送信できます。その場合、CSS を使用した HTML のすべての書式設定の利点が得られます。

ただし、テキストと html のコピーを送信するという選択肢を保持したい場合は、MailMessage.AlternateViewsを使用してください。

MSDN から取得:また、AlternateViews プロパティを使用して、電子メール メッセージのコピーをさまざまな形式で指定します。たとえば、HTML でメッセージを送信する場合、一部の受信者が HTML コンテンツを表示できない電子メール リーダーを使用している場合に備えて、プレーン テキスト バージョンを提供することもできます。

于 2012-07-15T21:24:28.077 に答える
2

試す:

var message = new MailMessage(fromAddress, toAddress)
{
   Subject = subject,
   IsBodyHtml = true,
   Body = "<strong>" + body + "</strong>"
}

あなたはアイデアを得るでしょう。

于 2012-07-15T21:22:35.800 に答える