0

我正在尝试向某些用户发送电子邮件,但想使用 html 格式。我失去了所有的新线,一切都显示为一条线。这是我当前的代码:

   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();
4

1 回答 1

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

于 2015-02-04T00:34:52.393 回答