0

メールのテンプレートとして書式設定済みのテキスト ファイルを使用しています。ファイルには、必要な場所に改行があります。このテンプレートを使用してプレーン テキストのメールを送信したいのですが、書式設定がすべて失われます。改行は削除されます。

このファイルを解析して改行を保持するにはどうすればよいですか? <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

私は何が欠けていますか?

4

3 に答える 3

3

これは私がやったことです...

テキスト、または 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-26T15:38:21.483 に答える
1

表示するコードは、改行を削除しないでください。問題はおそらく電子メールの生成部分にあります。その部分を見せてもらえますか?

メールのコンテンツタイプはtext/plainですか?

于 2008-11-26T15:40:09.093 に答える
0

http://www.webdevbros.net/2007/06/28/template-component-for-classic-asp/を使用することをお勧めし ます

于 2008-11-27T02:49:48.900 に答える