在asp.net中发送邮件?

时间:2010-08-18 05:58:27

标签: asp.net

在我的网络应用程序中,当用户发送有关该网站的任何评论时,该消息将发送到我的邮件(即sasi@begoniainfosys.com)。 Ya现在工作正常,但是当我点击向前转发给任何人(webmail@begniainfs.com中的转发选项)时,它会显示<html><body>个标签。我该怎么解决这个问题。

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("hariq@begoniainfosys.com"));
    m.To.Add(new MailAddress("res@begoniainfosys.com"));
    m.Priority = MailPriority.High;
    SmtpClient sm = new SmtpClient();
    sm.DeliveryMethod = SmtpDeliveryMethod.Network;
    sm.Send(m);
}

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

我建议你的电子邮件客户端不是用HTML编辑的,所以当你转发它时,它可能转换为富文本,也许不知道html标签?

您拥有什么样的客户 - 只需快速搜索Google,就可以了解如何确保将HTML用于电子邮件。

在旧版Outlook中,它是工具 - &gt;选项 - &gt;邮件格式。