メールに挿入するトークンで改行はできないでしょうか | Community
Skip to main content
yuko_iwamoto
New Participant
August 13, 2019
Solved

メールに挿入するトークンで改行はできないでしょうか

  • August 13, 2019
  • 1 reply
  • 560 views

いつもお世話になっております。既出でしたら申し訳ございません。

一部を可変にしたメールテンプレートを作成し、顧客ごとに個別メールを自動で送信するというプログラムを作りたいです。

▼メールテンプレート

 固定文

 可変(トークン挿入)

 固定文

▼可変部分

 請求した各資料のダウンロードURL

資料請求時に、顧客情報に挿入される資料URLを保持をしていき

送信タイミングで、メールに自動挿入されればと思っていたのですが

顧客情報の内容は改行されず、1行に繋がってしまいました。

セグメンテーションで行う方法もあるかと思いますが、PDCAの一貫で行うため

設定の労力をあまりかけたくなく(恒久的な対応となった場合はセグメンテーションも視野に入れてます)

また、今回の事案とは別件で「営業が接触した顧客に、個別メールを指定した日付に自動で送る」ということも

してみたいと思っており、改行がどうにかできないものかと思っております。

何か方法案をお持ちの方がいらっしゃいましたが、ぜひお知恵をお貸しいただけますと幸いです。

どうぞよろしくお願いいたします。

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

数年越しに解決策が分かりましたので、投稿します!

 

・マイトークンのメールスクリプトで、改行コード\nを<br />するスクリプトを記載

・HTMLのメールにはマイトークンを挿入し、テキストメールには通常のトークンを使用する

 

でいけました!

 

▼以下詳細

①改行コード\nを<br />するスクリプトは下記を記載しました。

#set($str = $変換したいフィールドのAPI名を入れる.replaceAll("\n", "<br />"))
$str

→トークン名を、mailBodyとする

 

②HTMLメールで{{my.mailBody}}を挿入する

→改行された値になります

 

③テキストメールには、変換したいフィールドのトークンを挿入する

→{{my.mailBody}}にすると、今度は逆に<br>という文字そのものが入ってしまい、改行がなくなります

 

以上です。参考になれば幸いです。

1 reply

Taishi_Yamada
Community Manager
August 20, 2019

@yuko iwamoto さん、こんにちは

質問投稿ありがとうございます。そして、レスが遅くなりました。ごめんなさい

うーん、テストを手元でしていないので、実際に実験してみる必要がありますが。

1)Tokenの値に<br>を入れる

TextのTokenであれば、基本的にその部分は単なるテキスト(=文字列)です。なので、Tokenの値として、改行を入れたい所に、直接、HTMLのマークアップとして<br>を追加しておけば、改行になった気がします。

2)Tokenの外側(template上など)に改行を入れておく

もし改行位置が決まっていて、Tokenの外側になるならば、予め改行をTokenの外側でしておくのが便利ですかね。

{{token-a}}<br>

{{token-b}}<br>

ま、こういうことですね。単純ですけど、分かりやすいですし、tokenの中で改行を入れなくてすむのでシンプルですね。

以上、ご参考までに。

-Yamada

yuko_iwamoto
New Participant
September 6, 2019

Taishi Yamadaさん、いつもお世話になっております。

コメントありがとうございます!返信が遅くなり失礼いたしました。

>1)Tokenの値に<br>を入れる

こちら、挿入するトークンの値に

https://xxxx/xxx01/pdf<br>
https://xxxx/xxx02/pdf<br>

と入力してサンプルメールを送信してみましたが、メールでは

https://xxxx/xxx01/pdf<br>https://xxxx/xxx02/pdf<br>

と表示されてしまいました・・・。

※フィールドはテキストタイプです

>2)Tokenの外側(template上など)に改行を入れておく

やはり、こちらですね・・・

この方法も検討したのですが、フィールドの数をあまり増やしたくないという社内ルールがあり

資料の数がそれなりにあるため見送っておりました。

今回は難しそうなので、実施する際にはセグメンテーションで行おうと思います。

ご回答ありがとうございました。

yuko_iwamoto
yuko_iwamotoAuthorAccepted solution
New Participant
February 3, 2021

数年越しに解決策が分かりましたので、投稿します!

 

・マイトークンのメールスクリプトで、改行コード\nを<br />するスクリプトを記載

・HTMLのメールにはマイトークンを挿入し、テキストメールには通常のトークンを使用する

 

でいけました!

 

▼以下詳細

①改行コード\nを<br />するスクリプトは下記を記載しました。

#set($str = $変換したいフィールドのAPI名を入れる.replaceAll("\n", "<br />"))
$str

→トークン名を、mailBodyとする

 

②HTMLメールで{{my.mailBody}}を挿入する

→改行された値になります

 

③テキストメールには、変換したいフィールドのトークンを挿入する

→{{my.mailBody}}にすると、今度は逆に<br>という文字そのものが入ってしまい、改行がなくなります

 

以上です。参考になれば幸いです。