Ali Khan
Ali Khan

Reputation: 91

Compiling HTML body for mail in c#

I am using the following codes for users to send me a quote to my email.

    using System.Net.Mail;

    MailMessage mail = new MailMessage();
    mail.From = new MailAddress(Email.Text);
    mail.To.Add("my yahoo email");
    mail.Subject = "Requested Quote From my site";
    mail.Body = "<br /><b>Primary project type:</b> " + ProjectTypeRadio.SelectedItem.Text + "<br /><b>Interested In:</b> " + InterestedCheck + "<br /><br /><br /><br /><b>PRODUCT DETAILS:</b><hr />" + Electric + HotWater + PoolHeating + SpaceHeating + "<br /> + "<br /><b>Message:</b><br /><hr /><br />" + txtMsg.Text + "<br /><br />";

    SmtpClient smtp = new SmtpClient("smtp.mail.yahoo.com");
    smtp.Send(mail);
    Response.Redirect("Thanks.aspx");

Web.Config

<system.net>
<mailSettings>
  <smtp>
    <network host="smtp.mail.yahoo.com" port="995" userName="my yahoo email" password="Password" />
  </smtp>
</mailSettings>

PROBLEM: I am recieving the mail in my yahoo account but the message is not formated instead its showing all the HTML tags i.e.

Can anyone please check my code and point my mistake or guide me a solution, it will be a big favor, thanks.

Upvotes: 3

Views: 3851

Answers (2)

pjumble
pjumble

Reputation: 16960

You can set mail.IsBodyHTML = true

Also, depending on what you're sending you may want to use AlternateViews to send both plain text and text/html variations.

Upvotes: 7

&#214;zg&#252;r Kara
&#214;zg&#252;r Kara

Reputation: 1333

you must set BodyFormat mail.BodyFormat = System.Web.Mail.MailFormat.Html;

Upvotes: 0

Related Questions