如何使用电子邮件模板txt文件并保留格式?
我使用预先格式化的文本文件作为电子邮件的模板。该文件有我想要它们的换行符。我想使用此模板发送纯文本电子邮件,但是当我这样做时,我正在失去所有格式。换行符被删除。如何使用电子邮件模板txt文件并保留格式?
如何解析此文件并保留换行符?我不想使用<pre>
标签,因为我想发送纯文本电子邮件。
我使用的是传统的ASP ReadAll方法将该模板拉成字符串:
Dim TextStream
Set TextStream = FSO.OpenTextFile(Filepath, ForReading, False, TristateUseDefault)
' Read file in one hit
Dim Contents
GetTemplate = TextStream.ReadAll ' return file contents
我缺少什么?
您显示的代码不应剥离任何换行符。问题可能在电子邮件生成部分。你能展示那部分吗?
邮件的内容类型:text/plain?
这是我做了什么......
我把文本或HTML文件,(我会告诉文本,因为它的小,但完全相同的代码适用),我把众所周知值放入文本文件中,稍后可以替换。
- 开始文本文件
We've generated a new password for you at your request, you can use this new password with your username to log in to various sections of our site.
Username: ##UserName##
Temporary Password: ##Password##
To use this temporary password, please copy and paste it into the password box.
Please keep this email for your records.
- 最终文本文件
那么它的创建键/值对的列表,用文字简单的事情进行替换,和值你用它来代替它。将文件作为字符串加载到内存中,并循环访问您的键/值对,替换您的文本值。
ListDictionary dictionary = new ListDictionary
{
{"##UserName##", user.BaseUser.UserName},
{"##Password##", newPassword}
};
string fromResources = GetFromResources("forgotpasswordEmail.html");
string textfromResources = GetFromResources("forgotpasswordEmail.txt");
foreach (DictionaryEntry entry in dictionary)
{
fromResources = fromResources.Replace(entry.Key.ToString(), entry.Value.ToString());
textfromResources = textfromResources.Replace(entry.Key.ToString(), entry.Value.ToString());
}
然后您可以通过电子邮件的文本,(在这种情况下,textfromResources变量),它将包含所有必要的换行和格式化。
就像我说过的,你可以用HTML文件或任何你想要的文件来做同样的事情。尽管我的例子是在C#中(我没有任何经典的ASP代码方便,对不起),但查找和替换值的概念将适用于传统的ASP。
你到底描述我是如何把它安装了。虽然投入了彻底的解释! – 2008-11-26 16:34:58
呜呼!正确的钱!你让我今天一整天都感觉很好。我确信我在阅读文件时错过了一些东西。但是,我不小心以HTML格式发送电子邮件!再次感谢! – 2008-11-26 15:58:17