Проблема заполнения для текстовой электронной почты с использованием PadRight в C # - PullRequest
0 голосов
/ 23 октября 2010

У меня есть вопрос, касающийся кодирования текстовых сообщений электронной почты с использованием C # .net, потому что у меня мой простой ASCII, но при выполнении заполнения для форматирования получателя пользователю данные не выстраиваются в очередь, хотя при проверке строк, например, в NotePad ++они точно такие же номера персонажа.Ниже приведен код, может кто-нибудь сказать мне, что я делаю не так?

StringBuilder oSB = new StringBuilder ();oSB.AppendLine (EmailLine ("Amount", oTrans.PaymentAmount.ToString ()));oSB.AppendLine (EmailLine («Способ оплаты», oTrans.CardType));приватная статическая строка EmailLine (строка FieldLabel, строка FieldVal) {return PadLabel (FieldLabel) + FieldVal;} приватная статическая строка PadLabel (string FieldLabel) {return FieldLabel.PadRight (40, char.Parse ("")) + ":";}

Мой вывод выглядит следующим образом:

Сумма: 100,00

Способ оплаты: VISA

1 Ответ

1 голос
/ 23 октября 2010

Будет ли они выстроены в очередь, будет зависеть от шрифта, используемого для отображения электронного письма.Это настройка почтового клиента.Например, вот где я должен установить его в Outlook:

alt text

Попробуйте изменить шрифт в Notepad ++ на Times new Roman и Courier, и вы увидите, что они выстраиваются по-разному.

Вы не можете контролировать шрифт пользователя, если отправляете его как текстовое сообщение.Лучшее, что вы можете сделать, это указать «Лучше читать со шрифтом ___» или отформатировать его как HTML, где у вас есть некоторый контроль.

Другие варианты могут включать вывод этого в файл PDF или изображение (опять же, где у вас больше контроля).

...