Выравнивание текста при отправке почты - PullRequest
0 голосов
/ 22 октября 2011

Я изучаю ASP.Net у начинающих Wrox ASP.Net 4.0. Здесь я отправляю письмо с моего сайта на мою почту. Для этого я создал текстовый файл в папке App_Data и написал такой контент, как:

Name:          ##Name##
E-mail address:##Email##
Comments:      ##Body##

При отправке формы я заменил это содержимое следующим соответствующим содержанием:

string filename = Server.MapPath("~/App_Data/ContactForm.txt");
string mailBody = File.ReadAllText(filename);
mailBody = mailBody.Replace("##Name##", Name.Text);
mailBody = mailBody.Replace("##Email##", EmailAddress.Text);
mailBody = mailBody.Replace("##Comments##", Comments.Text);

и отправил письмо телу на мою почту. Мой вывод по почте был такой:

Name:                           Andrew Thomas
E-mail address:         andrew@voxcode.com
Comments:                       Its a great Site. But would like to see more of Spanish songs.

Почему мое содержимое не выровнено, как в текстовом файле шаблона. У меня есть много полей, кроме имени, электронной почты и комментариев. И все они очень неприсоединившиеся. Что я должен сделать, чтобы выровнять их перед отправкой на мою почту. Я ожидал мою почту как:

Name:                   Andrew Thomas
E-mail address:         andrew@voxcode.com
Comments:               Its a great Site. But would like to see more of Spanish songs.

Я не уверен, что CSS может помочь здесь.

Спасибо.

Ответы [ 2 ]

1 голос
/ 22 октября 2011

Если вы хотите идеального выравнивания, я рекомендую использовать таблицы в вашем сообщении так:

<table border="0">
<tr>
<td>
Name:</td><td>##Name##</td>
</tr>
<tr><td>
E-mail address:</td></td>##Email##</td>
</tr>
<tr><td>
Comments:</td><td>##Comments##</td>
</tr>
</table>

Пример:

MailMessage mm = new MailMessage();

string filename = Server.MapPath("~/App_Data/ContactForm.txt");
string mailBody = File.ReadAllText(filename);
mailBody = mailBody.Replace("##Name##", Name.Text);
mailBody = mailBody.Replace("##Email##", EmailAddress.Text);
mailBody = mailBody.Replace("##Comments##", Comments.Text);
mm.Body=mailBody;
mm.IsBodyHtml=true;
0 голосов
/ 22 октября 2011

Я подозреваю, что ваш шаблон содержит вкладки и что когда вы читаете его, они преобразуются в пробелы. Убедитесь, что исходный файл содержит только пробелы или символы табуляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...