下面是我发送电子邮件的代码片段:
MySqlCommand cmdsd;
MySqlConnection conn;
string s23 = "";
conn = new MySqlConnection("server=localhost;database=projecttt;uid=root;password=techsoft");
conn.Open();
//smtp which will be loaded is webmail.techsofttechnologies.com
cmdsd = new MySqlCommand("select smtp from smtp", conn);
MySqlDataReader dr45 = cmdsd.ExecuteReader();
while (dr45.Read())
{
s23 = dr45.GetString(0).Trim();
}
string s1 = textBox3.Text;
string s4 = textBox1.Text;
string S5 = textBox2.Text;
string attachment = textBox5.Text;
MailMessage mail = new MailMessage();
mail.From = new MailAddress(s4, S5);
mail.BodyEncoding = Encoding.UTF8;
mail.To.Add(s1);
mail.Subject = textBox4.Text;
mail.Body = "<body>"+textBox6.Text+"</body>";
//mail.Body = textBox6.AppendText("\n");
AlternateView planview = AlternateView.CreateAlternateViewFromString("This is my plain text content, viewable tby those clients that don't support html");
AlternateView htmlview = AlternateView.CreateAlternateViewFromString("<b>This is bold text and viewable by those mail clients that support html<b>");
mail.IsBodyHtml = true;
mail.Priority = MailPriority.High;
System.Net.Mail.Attachment jil = new System.Net.Mail.Attachment(attachment);
mail.Attachments.Add(jil);
SmtpClient smtp = new SmtpClient(s23);
try
{
smtp.Send(mail);
}
catch (Exception ex)
{
Exception exc = ex;
string Message = string.Empty;
while (exc != null)
{
Message += exc.ToString();
exc = exc.InnerException;
}
}
conn.Close();
this.Close();
}
catch (Exception err)
{
MessageBox.Show(err.Message);
}
}
邮件正文包含带换行符的文本。
但是我无法格式化文本。在邮件中,它显示为用空格代替换行符的连续行。
如何让它按预期工作?
请您参考如下方法:
您可能需要将换行符转换为正确的 HTML 分隔符:
text.Replace("\n", "<br/>")
