0


0

メールテンプレートのテキストファイルを使用してフォーマットを保持するにはどうすればよいですか。

私は電子メールのテンプレートとしてフォーマット済みのテキストファイルを使用しています。 ファイルの必要な場所にファイルが改行されています。 このテンプレートを使用してプレーンテキストの電子メールを送信したいのですが、送信するとフォーマットがすべて失われます。 改行は取り除かれます。

このファイルを解析して改行を保持する方法を教えてください。 私は ``を使いたくありません

 tag because I want to send plain text emails.

I'm using the classic ASP ReadAll method to pull the template into a string:

            Dim TextStream
        Set TextStream = FSO.OpenTextFile(Filepath, ForReading, False, TristateUseDefault)

        ' Read file in one hit
        Dim Contents
        GetTemplate = TextStream.ReadAll ' return file contents

何が足りないの?

3 Answer


3


これは私がやったことです…​

私はテキスト、またはHTMLファイルを取ります(小さいのでテキストを表示しますが、まったく同じコードが適用されます)。そして、後で置き換えることができる既知の値をテキストファイルに入れます。

  • テキストファイルの開始

私たちはあなたの要求に応じてあなたのために新しいパスワードを生成しました、あなたは私たちのサイトの様々なセクションにログインするためにあなたのユーザ名とこの新しいパスワードを使うことができます。

ユーザー名:##ユーザー名##一時パスワード:##パスワード##

この一時パスワードを使用するには、パスワードをコピーしてパスワードボックスに貼り付けてください。

あなたの記録のためにこのEメールを保管してください。
  • テキストファイルの終了

それからそれは、置き換えられるテキストと、あなたがそれを置き換える値で、キーと値のペアのリストを作成するという簡単なことです。 ファイルを文字列としてメモリにロードし、キーと値のペアをループしてテキスト値を置き換えます。

ListDictionary dictionary = new ListDictionary {{"## UserName ##"、user.BaseUser.UserName}、{"## Password ##"、newPassword}};

文字列fromResources = GetFromResources( "forgotpasswordEmail.html");文字列textfromResources = GetFromResources( "forgotpasswordEmail.txt"); foreach(辞書のDictionaryEntryエントリ){fromResources = fromResources.Replace(entry.Key.ToString()、entry.Value.ToString()); textfromResources = textfromResources.Replace(entry.Key.ToString()、entry.Value.ToString()); }

その後、テキスト(この場合はtextfromResources変数)を電子メールで送信すると、必要なすべての改行とフォーマットが含まれます。

私が言ったように、あなたはこれをHTMLファイルやあなたが望むどんな種類のファイルでも同じことをすることができます。

私の例はC#で書かれていますが(便利な古典的なASPコードはありません)、値を見つけて置き換えるという概念は古典的なASPにも当てはまります。


1


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

メールのContent-Typeはtext / plainですか?


0


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