アラートメール等でのテキスト改行について | Community
Skip to main content
森田_章子
August 2, 2021

アラートメール等でのテキスト改行について

  • August 2, 2021
  • 2 replies
  • 211 views
Marketo メールフォームで送られたトークンの改行が消えてしまうエラーが発生しています。スクリプト記載することで解消したいのですが、スクリプト記載段階で不明点があり
アドバイスいただきたいです。
 

【行いたいこと】
・マイトークンのメールスクリプトで、改行コード\nを<br />するスクリプトを記載
・HTMLのメールにはマイトークンを挿入し、テキストメールには通常のトークンを使用する▼以下詳細

 

①改行コード\nを<br />するスクリプトは下記を記載しました。
#set($str = $変換したいフィールドのAPI名を入れる.replaceAll("\n", "<br />"))
$str
→トークン名を、mailBodyとする②HTMLメールで{{my.mailBody}}を挿入する
→改行された値になる

 

③テキストメールには、変換したいフィールドのトークンを挿入する
→{{my.mailBody}}にすると、今度は逆に<br>という文字そのものが入ってしまい、
改行がなくなってしまいます

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.

2 replies

yukotakagi1
Level 3
August 3, 2021

正解がわからないので、ちょっと恐縮なのですが、何個かやってみたので

かきこませていただきます。

 

このreplaceallのファンクションを使って、"\n"を "<br />"に変えるという方法でやると、

ブラウザーでテストした時にはHTMLメールだと、改行が入りますが、

実際にテストメールを送ると、改行されないようなのですが、どうでしょうか?

 

一行、一行をSplitする方法でもやってみたのですが、同じ結果でした。

#set ($ms=${lead.message} ) #set ($output = $ms.split("\n")) #foreach( $op in $output ) $op </br> #end

 

(プレビューだと、改行されて表示されますが、サンプルのメールをおくると改行が消えてしまいます。)

おそらく、Email ScriptにFieldが取り込まれる時点で、改行が消えているのかなと考察しました。

 

Velocity Scriptを使うと、テストメールを送ったり実際のメールを送ると

ブラウザーでテストするのと違う結果が出ることがありますよね。

私はあまりVelocity Scriptに詳しくないので、これがなぜなのかはわからないのですが、

痛い目にあったことがあるので(テストメールだと動いたEmail Scriptが、実際に送ると、うまく表示されないなど)Email Scriptを使う際には、ブラウザーで確認、テストメールだけでなく、実際に送ってみるのをお勧めします。

yukotakagi1
Level 3
August 3, 2021

こちらいい方法がわかりましたら、是非シェアしてください。

yuko_iwamoto
Level 2
October 19, 2021

森田様

 

初めまして、Hamee株式会社の岩本と申します。

テキスト改行につきまして、おそらく過去に私が書いたこちらのスレッドを参照いただいたかと思います。

 

ご質問されてから時間がたっておりますので、解決されているかもしれませんが

>スクリプト記載段階で不明点があり

こちらの詳細をいただければ、お手伝いできることがあるかもしれません。

 

・解決したい内容

・改行したいフィールドの名称、API名

・記載しているスクリプト、マイトークン名

・HTMLメール、テキストメールで改行したい部分に挿入しているトークン

など詳細を教えていただけますでしょうか。