2015-02-03 1 views
0

Я пытаюсь отправить электронное письмо некоторым пользователям, но хотел бы использовать html-формат. Я теряю все новые строки, и все отображается как одна строка. Вот мой текущий код:Как использовать формат HTML в sp_send_dbmail в asp.net

string body = "Hello " + fullName + Environment.NewLine + ","; 
       body += "Your registration has been approved. Here is your user name and password " + Environment.NewLine ; 
       body += "User Name: " + usrname + Environment.NewLine; 
       body += "Password: " + pass + Environment.NewLine; 
       body += "Start Date: " + startDate + Environment.NewLine; 
       body += "End Date: " + EndDate + Environment.NewLine; 

       body += "Thanks"; 
       string toAddr = email.ToString(); 
       string mailMsg = body; 

       string subject = "Registration Approved"; 
       string profile = "myProf"; 

       SqlConnection execMail = new SqlConnection("Data Source=XXXXXXXXX;Initial Catalog=msdb;Persist Security Info=True;User ID=xxxxxxxxxx;Password=xxxxxxxxxxx"); 
       execMail.Open(); 

       SqlCommand exec_cmd = new SqlCommand("sp_send_dbmail"); 
       exec_cmd.CommandType = CommandType.StoredProcedure; 
       exec_cmd.Connection = execMail; 

       exec_cmd.Parameters.AddWithValue("profile_name", profile); 
       exec_cmd.Parameters.AddWithValue("recipients", toAddr); 
       // exec_cmd.Parameters.AddWithValue("copy_recipients", ccAddr); 
       // exec_cmd.Parameters.AddWithValue("blind_copy_recipients", bccAddr); 
       exec_cmd.Parameters.AddWithValue("body", mailMsg); 
       exec_cmd.Parameters.AddWithValue("subject", subject); 

       exec_cmd.ExecuteNonQuery(); 

       exec_cmd.Dispose(); 
       execMail.Close(); 
       con.Close(); 
       con.Dispose(); 

ответ

1

Вы должны поместить HTML-теги в строке тела, например:

string body = "<h1>Hello" + fullName + Environment.NewLine + "</h1>"; 
       body += "<p>Your registration has been approved. Here is your user name and password " + Environment.NewLine + "</p>"; 
       body += "<h3>User Name: " + usrname + Environment.NewLine+"</h3>"; 
       body += "<h3>Password: " + pass + Environment.NewLine+"</h3>"; 
       body += "<h3>Start Date: " + startDate + Environment.NewLine+"</h3>"; 
       body += "<h3>End Date: " + EndDate + Environment.NewLine+"</h3>"; 

       body += "<p>Thanks</p>"; 

затем, в параметрах, вам нужно добавить:

exec_cmd.Parameters.AddWithValue("body_format", "HTML"); 

Значение по умолчанию: TEXT