Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 发送邮件时的文本对齐_Asp.net_Email_Alignment - Fatal编程技术网

Asp.net 发送邮件时的文本对齐

Asp.net 发送邮件时的文本对齐,asp.net,email,alignment,Asp.net,Email,Alignment,我正在从Wrox初学者ASP.NET4.0学习ASP.Net。在这里,我将从我的网站向我的邮件发送一封邮件。为此,我在App_Data文件夹中创建了一个文本文件,并编写了一些内容,如: Name: ##Name## E-mail address:##Email## Comments: ##Body## 在提交表格时,我将这些内容替换为以下各自的内容: string filename = Server.MapPath("~/App_Data/ContactForm.t

我正在从Wrox初学者ASP.NET4.0学习ASP.Net。在这里,我将从我的网站向我的邮件发送一封邮件。为此,我在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是否能在这方面有所帮助


谢谢。

我怀疑您的模板包含选项卡,当您在中阅读它时,它们正在转换为空格。检查原始文件是否仅包含空格或制表符。

如果您希望完全对齐,建议您在邮件中使用表格,如下所示:

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

好的,这是因为模板中的“Email:”一行在输出中已改为“Email address:”,并且您的选项卡不再对齐。你需要整理一下,我试着用空格代替制表符,但没用。我尝试将电子邮件替换为电子邮件地址,但仍然不起作用。我正在使用App_数据中的文本文件。我如何使用那里的表格?如果是文本文件也没关系。您可以在文本文件中输入HTML代码,并确保将电子邮件正文的
IsHtml
属性设置为
true
,但我相信这将大大增加通过邮件发送的文件大小。你是说电子邮件的
IsBodyHtml
body@rapsalands我刚刚发布了一个示例。@rapsalands不,它不会使文件大小增加很多。是的,我的意思是
IsBodyHtml
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;