我有一个关于使用C#.net对文本电子邮件进行编码的问题,因为我使用的是简单的ASCII,但在使用填充格式化用户的数据时,虽然我在检查NotePad ++中的行时数据没有排队它们的性格完全相同。下面是一些代码,谁能告诉我我做错了什么?
StringBuilder oSB = new StringBuilder(); oSB.AppendLine(EmailLine(“Amount”,oTrans.PaymentAmount.ToString())); oSB.AppendLine(EmailLine(“付款方式”,oTrans.CardType)); 私有静态字符串EmailLine(字符串FieldLabel,字符串FieldVal) { 返回PadLabel(FieldLabel)+ FieldVal; } 私有静态字符串PadLabel(字符串FieldLabel) { 返回FieldLabel.PadRight(40,char.Parse(“”))+“:”; }
我的输出如下:
金额:100.00
付款方式:签证
答案 0 :(得分:1)
它们是否排队将取决于用于显示电子邮件的字体。这是电子邮件客户端的设置。例如,这是我在Outlook中设置它的地方:
尝试将Notepad ++中的字体更改为Times new Roman和Courier,您会看到它们的排列方式不同。
如果您将其作为计划文本邮件发送,则无法控制用户的字体。您可以做的最好表示“使用___字体进行最佳读取”或将其格式化为HTML,您可以在其中进行控制。
其他选项包括将其输出到PDF文件或图像(再次提供更多控制权的地方)。