2010-08-18 3 views
0

В моем веб-приложении, когда пользователь отправляет любые комментарии о сайте, сообщение придет на мою почту (т. Е. [email protected]). Я работаю отлично до сих пор, но когда я нажимаю на это, чтобы кто-либо (форвардный вариант в [email protected]), он отображается с тегами <html><body>. Как я могу это решить.отправка mail in asp.net?

private void sendingmail() 
{ 
    string filename = FileUpload1.FileName.Trim(); 
    string a = "http://www.begoniainfosys.com/Re/" + filename; 
    //string emailid = emailid.ToString(); 
    MailMessage m = new MailMessage(); 
    m.Subject = "Uploaded Resume"; 

    if (txtdesc.Text.ToString() == "") 
    { 
     m.Attachments.Add(new System.Net.Mail.Attachment(@Server.MapPath("~/Resumes/" + FileUpload1.FileName))); 
     m.Body = "<html><body><b>" + "The Name Of The JobSeeker:" + txtname.Text + "<br><br>" + "The MailID:" + txtemailid.Text + "<br><br>" + "The MobileNumber:" + txtmobile.Text + "<br><br>" + "The Postion Applied For:" + txtpositionapplied.Text + "</b> </body></html>"; 
     m.IsBodyHtml = true; 
    } 
    else 
    { 
     m.Attachments.Add(new System.Net.Mail.Attachment(@Server.MapPath("~/Resumes/" + FileUpload1.FileName))); 

     m.Body = "<html><body><b>" + "The Name Of JobSeeker:" + txtname.Text + "<br><br>" + "The MailID:" + txtemailid.Text + "<br><br>" + "The MobileNumber:" + txtmobile.Text + "<br><br>" + "The Postion Applied For:" + txtpositionapplied.Text +"<br><br>"+"The Description:"+txtdesc.Text.ToString()+" </b> </body></html>"; 
     m.IsBodyHtml = true; 
    } 

    string frm = txtemailid.Text; 
    m.From = new MailAddress(frm); 
    m.CC.Add(new MailAddress("[email protected]")); 
    m.To.Add(new MailAddress("[email protected]")); 
    m.Priority = MailPriority.High; 
    SmtpClient sm = new SmtpClient(); 
    sm.DeliveryMethod = SmtpDeliveryMethod.Network; 
    sm.Send(m); 
} 

ответ

0

Я хотел бы предложить, что ваш почтовый клиент не редактируя в HTML, так что, когда вы переслать его, он, вероятно, превращается в форматированный текст, возможно, и не знает о HTML-теги?

Какой у вас клиент - только быстрей поиск Google, чтобы узнать, как убедиться, что он использует HTML для электронных писем.

В старых версиях Outlook это были Инструменты -> Параметры -> Формат почты.

1

Как вы это делаете сейчас. Вы только поставляете HTML-версию тела электронной почты. Если это отправлено клиенту электронной почты, который не поддерживает html, теги будут отображаться.

Вместо этого вы должны отправить обычный текст с альтернативным представлением, содержащим html. Таким образом, клиентское приложение может решить, какую версию использовать.

var message = new System.Net.Mail.MailMessage(fromAddress, toAddress); 
message.Body = "plain text"; 
var htmlView = System.Net.Mail.AlternateView.CreateAlternateViewFromString(htmlBody, 
         new System.Net.Mime.ContentType("text/html")); 
message.AlternateViews.Add(htmlView);