質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

4669閲覧

GASからhtmlメールを送付する際に、スプレッドシートから値を受け取りたい

omikuj1

総合スコア11

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

1グッド

0クリップ

投稿2019/05/31 23:08

前提・実現したいこと

GASからHTMLメールを送付したいのですが、
そのHTMLメールの中身に、スプレッドシートの値を集計した結果を文面に記載したいです。

発生している問題・エラーメッセージ

出力スクリプトレットタグ(<?= ... ?>)がそのまま表示されてしまう。

該当のソースコード

html

1<!DOCTYPE html> 2<html> 3 <head> 4 <base target="_top"> 5 </head> 6 7 <body> 8 皆様<br> 9 <br> 10  お疲れ様です。<br> 11  本日の集計結果を報告します。<br> 12 <?= calcProb(); ?> 13 </body> 14</html>

GAS

1function sendMail() { 2 var body; 3 var html = HtmlService.createHtmlOutputFromFile("mailbody").getContent(); 4 var today = new Date(); 5 6 /* メールを送信 */ 7 GmailApp.sendEmail( 8 "hogehoge@testmail.com", //宛先 9 "本日の集計結果", //件名 10 "htmlメールが表示できませんでした", //htmlが受信できない場合の本文 11 { 12 htmlBody: html //html本文 13 } 14 ); 15} 16 17function calcProb() { 18 var allSheets = SpreadsheetApp.getActiveSpreadsheet().getSheets(); 19 var body; 20 21 /* 22 スプレッドシートの集計内容を記載し、bodyに代入するスクリプト。 23 今回の質問の趣旨ではないので、省略します。 24 */ 25 26 body = "test"; 27 28 return body; 29}

補足

なにか追加で必要な内容がございましたら、教えて下さい。
よろしくお願いします。

papinianus👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

テンプレートを使用されていますので、次のような変更はいかがでしょうか。

From

javascript

1var html = HtmlService.createHtmlOutputFromFile("mailbody").getContent();

To

javascript

1var html = HtmlService.createTemplateFromFile("mailbody").evaluate().getContent();

参考

投稿2019/05/31 23:51

kisojin

総合スコア899

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問