2

node.jsメーラーモジュールを使用してノードサーバーからメールを送信しています。そのためにテンプレートファイルを使用しましたが、メッセージが送信されたときにすべてのスペースがトリミングされました。テンプレートの最後の行に「\n」を追加しようとしましたが、機能しません。テンプレートファイルの例を次に示します。

Hi {{username}},\\n

Thanks for creating an account with us

\nと\nを試しましたが、すべてが機能しません。何か助けはありますか?

ありがとう、

4

2 に答える 2

4

nodemailer2種類のテンプレート、つまりtextとをサポートしhtml (or templateFn() - case of loopback)ます。

このオプションtextは、HTMLレンダリングをサポートしていない電子メールクライアントに\n使用されるため、このオプションで新しい行に使用する必要があります。

それどころか、オプションでと交換\nする必要があります。<br>html

これがお役に立てば幸いです。

于 2018-08-20T01:37:59.890 に答える
1

これは既知の動作です。口ひげはHTMLテンプレートで機能するように作成されています。HTMLでは、新しい行は1つのスペースとしてのみ縮小されます。

{{new_line}}代わりに、のようなことを試して\\n、データで定義することができnew_line: "\n\xA0"ます。\xA0は改行できないスペースです。2つの新しい行を作成する場合は、行を区切ることができます。

もう1つの解決策は、テンプレートを使用せずに、ファイルのコンテンツをテキストとして取得し、正規表現を使用してオブジェクトコンテンツfs.readFileSync(filename)に置き換えることです。{{xxx}}

于 2012-04-19T14:13:56.307 に答える