teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

追記

2021/10/05 17:06

投稿

itagagaki
itagagaki

スコア8402

answer CHANGED
@@ -2,4 +2,9 @@
2
2
 
3
3
  ```GAS
4
4
  message = message.replace(/\r?\n/g, '<br>');
5
- ```
5
+ ```
6
+
7
+ ところで、HTMLメールにするなら、上記を行う前に`message`にはHTMLエスケープが必要なのではないですか?
8
+ HTMLエスケープについてはこちらを参考にどうぞ。
9
+
10
+ [JavaScript - HTMLのエスケープ処理をJSを使って行う方法|teratail](https://teratail.com/questions/139982)

2

回答を全面的に変更

2021/10/05 17:06

投稿

itagagaki
itagagaki

スコア8402

answer CHANGED
@@ -1,3 +1,5 @@
1
- HTMLでは`\n`で改行にはなりませんね。
2
- HTMLメールじゃないといけないのなら、改行は`<br>`とすればいいと思います。
3
- プレーンテキストでいいのなら`htmlBody`ではなく`body`にすれいま
1
+ プレーンテキストメールでいいのなら`htmlBody`ではなく`body`にするだけで済むと思うのですが、どうしてもHTMLメールにする必要があるのなら、本文に含まる改行文字を`<br>`に置換しないといせんね
2
+
3
+ ```GAS
4
+ message = message.replace(/\r?\n/g, '<br>');
5
+ ```

1

言い回しを少し変えました

2021/10/05 16:56

投稿

itagagaki
itagagaki

スコア8402

answer CHANGED
@@ -1,3 +1,3 @@
1
- HTMLメール送っているからね。
1
+ HTMLでは`\n`改行にはなりませんね。
2
- HTMLじゃないといけないのなら、改行は`<br>`とすればいいと思います。
2
+ HTMLメールじゃないといけないのなら、改行は`<br>`とすればいいと思います。
3
3
  プレーンテキストでいいのなら`htmlBody`ではなく`body`にすればいいと思います。