这就是我所做的......
我获取一个文本或 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。