发送邮件时的文本对齐方式

时间:2011-10-22 14:26:12

标签: asp.net email alignment

我正在从Wrox初学者ASP.Net 4.0学习ASP.Net。在这里,我将从我的网站发送邮件到我的邮箱。为此,我在App_Data文件夹中创建了一个Text文件,并编写了一些内容,如:

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);

并将mailBody发送到我的邮箱。我在邮件中的输出如下:

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 个答案:

答案 0 :(得分:1)

如果您想要完美对齐,我建议您在消息中使用表格:

<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;

答案 1 :(得分:0)

我怀疑您的模板包含标签,当您阅读它时,它们会被转换为空格。检查原始文件只包含空格或制表符。