22
string to = "email@hotmail.co.uk";
 string body = "Test";
 SmtpClient SMTPServer = new SmtpClient("127.0.0.1");
 MailMessage mailObj = new MailMessage(urEmail, to, subject, body);
 SMTPServer.Send(mailObj);

これは私が現在テストメールを送信している方法です。この html を作成し、画像などを追加して、送信されるメールの見栄えを良くするにはどうすればよいですか?

ありがとう

4

5 に答える 5

47

MailMessageプロパティIsBodyHtmlをtrueに設定します。

string to = "email@hotmail.co.uk";
string body = "Test";
SmtpClient SMTPServer = new SmtpClient("127.0.0.1");
MailMessage mailObj = new MailMessage(urEmail, to, subject, body);

mailObj.IsBodyHtml = true; // This line

SMTPServer.Send(mailObj);
于 2011-10-24T08:53:24.247 に答える
8

設定する必要がありますmailObj .IsBodyHtml = true;

于 2011-10-24T08:52:12.690 に答える
2

次のアイデアを使用して、ASPX ページを取得し、それを文字列にレンダリングできます。

StringWriter writer = new StringWriter();
Server.Execute("Login.aspx", writer);
string html = writer.ToString();

その後、MailMessage.IsBodyHtml を true に設定すると、HTML メッセージを送信できます。画像やその他のものを使用する場合は、メールの受信者がそれらの画像にアクセスできることを確認してください。

于 2011-10-24T08:54:42.733 に答える
1

これには 2 つの方法があります。

  1. メール内に画像を埋め込みます。(この質問を参照してください)

  2. HTML メール内のイメージ タグの src 属性を介してイメージにリンクします。これには、受信者がアクセスできる Web サーバー上のどこかに画像ファイルをホストする必要があります。

どちらの場合も、HTML 本文でメールを送信する必要があります。

mailObj.IsBodyHtml = true;
于 2011-10-24T09:08:00.140 に答える
-1

メールへの画像の追加に関する質問については、埋め込みを希望する場合は、HTML のアンカー タグを使用するか、mailObj.Attachments.Add() メソッドを使用してメールに画像ファイルを添付してください。

ただし、一部のファイアウォールは埋め込み画像をブロックするだけで添付ファイルを許可するため、画像を添付ファイルとして送信するのが最善の方法です。そうすれば、完璧な方法ではありませんが、コンテンツをより安全に配信できます。

于 2011-10-24T09:09:20.720 に答える