「\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;
}
アップデート:
<br /> 最終的に動作するようになりました。うまくいかなかった理由は、これが連絡先フォームから取得した元のコードだったからです。
mail.Body += message.Replace("\n\n", "<br />");
MailMessage.IsBodyHtml
コア ライブラリ コードで true に設定されています。