C#邮件消息字符串格式
我正试图让字符串排列在电子邮件中。当我设置邮件正文时,一切看起来都很好,但当我收到邮件时,事情并没有排好C#邮件消息字符串格式,c#,mailmessage,C#,Mailmessage,我正试图让字符串排列在电子邮件中。当我设置邮件正文时,一切看起来都很好,但当我收到邮件时,事情并没有排好 MailMessage email = new MailMessage(); //...setup from/to/host/port etc StringBuilder data = new StringBuilder(); data.AppendLine(string.Format("{0, -20} {1, -20}",
MailMessage email = new MailMessage();
//...setup from/to/host/port etc
StringBuilder data = new StringBuilder();
data.AppendLine(string.Format("{0, -20} {1, -20}", "Id:", "26"));
data.AppendLine(string.Format("{0, -20} {1, -20}", "Name:", "Jeff"));
// this looks fine in console
Console.WriteLine(data.ToString());
email.Body = data.ToString();
// this looks fine in console
Console.WriteLine(email.Body);
当我收到这封电子邮件时,它的格式不像电子邮件那样排列整齐。正文中有它。默认情况下,正文使用
us ascii
编码
试用
email.BodyEncoding=System.Text.Encoding.UTF8代码>
注意:我没有测试过,这只是猜测。让我猜一下:字体是非比例的(例如Arial)。将您的邮件程序设置为使用monospace字体(例如Courier New),或者按照@ThomasWeller的建议使用monospace,或者使用HTML来排列邮件。似乎没有任何更改。添加email.IsBodyHtml=true代码>也许你的电子邮件提供商正在按照它所希望的方式处理纯文本?还要确保使用Monoscape字体。似乎如果用户可以在他们的客户端上使用他们想要的任何字体,那么我对此无能为力。我猜是HTML,但他们也必须启用它/默认情况下,大多数电子邮件查看器支持基本HTML。