使用 SMTP 发送电子邮件时如何解析换行符

How to resolve newline character when sending an email using SMTP

string strTheBody = @"First Name: " + tbFirst.Text + "\nLast Name: " + tbLast.Text + "\nAddress 1: " + tbAdd1.Text + "\nAddress 2: " + tbAdd2.Text + "";
strTheBody += @"\nCity: " + tbCity.Text + "\nState: " + ddlTechState.SelectedValue + "\nZip Code: " + tbZip.Text + "\nDOB: " + tbDOB.Text + "\nEmail Address: " + tbEmail.Text + "";
strTheBody += @"\nLast Doctor visited: " + ddlTechProvider.SelectedValue + "\nIssue: " + ddlTechIssues.SelectedValue + "\n\nComments: " + HttpUtility.HtmlEncode(tbComments.Text) + "";

MailMessage mmSendEmail = new MailMessage();
mmSendEmail.To.Add("myemail@myweb.com");
mmSendEmail.From = new MailAddress(tbEmail.Text);
mmSendEmail.Subject = "Contacting about " + ddlTechIssues.SelectedValue;
mmSendEmail.Body = strTheBody;

SmtpClient scSend = new SmtpClient("mysmtp.myisp.com");
scSend.Send(mmSendEmail);

像这样发送电子邮件:

First Name: first
Last Name: last
Address 1: my address 1
Address 2: \nCity: some city
State: NV
Zip Code: 90320
DOB: 08/08/2013
Email Address: myemail@email.com\nLast Doctor visited: 0
Issue: Result

Comments: This is a comment

如果值为空且有电子邮件地址,如何解决显示 \n 的问题。

@ symbol means to read that string literally, and don't interpret control characters

我建议改用 StringBuilder,它将消除这些类型的错误并使您的代码总体上更具可读性 - 无论如何格式化电子邮件。