2012-09-28 5 views
2

"\ n"또는 "< br/>"이 작동하지 않습니다. 나는 사용자 지정 양식의 내용을 이메일을 보내는 경우 줄 바꿈을 삽입하기 위해 노력하고있어 :이메일을 보낼 때 줄 바꿈을 삽입하는 방법?

protected void SubmitBtn_Click(object sender, EventArgs e) 
{ 
    if (Page.IsValid) 
    { 
     StringBuilder mailBody = new StringBuilder(); 
     mailBody.Append("Company Name: " + companyText.Text.Trim() + "\n\n"); 
     mailBody.Append("Name: " + firstNameText.Text.Trim() + " " 
      + lastNameText.Text.Trim() + "\n\n"); 
     mailBody.Append("Email: " + emailText.Text.Trim() + "\n\n"); 

     if(!String.IsNullOrEmpty(tradeText.Text)) 
      mailBody.Append("Trade: " + tradeText.Text.Trim() + "\n\n"); 

      bool success = SendEmail(emailText.Text.Trim(), 
       companyText.Text.Trim(), "SubContractors Form Submission", 
        mailBody.ToString()); 
    } 
} 

private bool SendEmail(string email, string name, 
    string subject, string message) 
{ 
    using (MailMessage mail = new MailMessage()) 
    { 
     mail.From = new MailAddress(BlogSettings.Instance.Email, name); 
     mail.ReplyTo = new MailAddress(email, name); 

     mail.To.Add(BlogSettings.Instance.Email); 
     mail.Subject = subject; 
     mail.Body += message; 

     if (Utils.SendMailMessage(mail).Length > 0) 
     { 
      return false; 
     }; 
    } 
    return true; 
} 

UPDATE :

내가 결국 작업 < BR/>을 얻었다.

mail.Body += message.Replace("\n\n", "<br />"); 

MailMessage.IsBodyHtml이 핵심 라이브러리 코드에 true로 설정 :이 내가 연락처 양식에서받은 원래의 코드 이었기 때문에 작동하지 않은 이유였다.

답변

1

당신은 Environment.NewLine을 찾고 있습니다.

mailBody.Append("Email: " + emailText.Text.Trim() + Environment.NewLine); 
+0

헌터에게 내 코멘트보기 :-) – IrishChieftain

1

당신이 무슨 일을하는지 나는 작동한다 Append보다는 AppendLine를 사용하여 생각 :

StringBuilder mailBody = new StringBuilder(); 

string company = companyText.Text.Trim(); 
string firstName = firstNameText.Text.Trim(); 
string lastName = lastNameText.Text.Trim(); 
string email = emailText.Text.Trim(); 
string trade = tradeText.Text.Trim(); 

mailBody.AppendFormat("Company Name: {0}", company).AppendLine(); 
mailBody.AppendFormat("Name: {0} {1}", firstName, lastName).AppendLine(); 
mailBody.AppendFormat("Email: {0}", email).AppendLine(); 

if(!string.IsNullOrEmpty(trade)) 
{ 
    mailBody.AppendFormat("Trade: {0}", trade).AppendLine(); 
} 

bool success = SendEmail(email, company, "SubContractors Form Submission", 
    mailBody.ToString()); 


만든 변수는 여러 .Trim()을 제거하는 명확성을 위해

추가 AppendFormat() af에서 같은 텍스트를 사용하는 것 When do you use StringBuilder.AppendLine/string.Format vs. StringBuilder.AppendFormat?

+0

매우 유익한 답변입니다. 결국
이 작동하고 있습니다. 설명을 위해 질문을 업데이트하고 있습니다. 감사합니다 :-) – IrishChieftain