🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

解決済

1回答

1146閲覧

Googleフォームの入力結果をメール転送する際にメール本文のフォントサイズを大きくする(加えて改行もGASからHTMLへ引き継ぐ)

dshiraiwa

総合スコア9

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2021/02/16 09:49

編集2021/02/17 03:37

前提・実現したいこと

※完全初心者なので、表現方法が違っていたり、不足していたらスイマセン…。

Googleフォームの入力結果をメール転送する設定にしたのですが、この転送されるメールのフォントサイズを大きくしたいと思っております。
(現在はプレーンテキストのみでの内容となってしまう)
フォントサイズを大きくする対象は全文です。

該当のソースコード

function onFormSubmit(e) {
// フォームの回答を取得
var name = e.namedValues['氏名'][0];
var email = e.namedValues['メールアドレス'][0];
var message = e.namedValues['お問い合わせ内容'][0];

// 自動返信メール件名
var subject = 'お問い合わせいただきありがとうございました。';

// 自動返信メール本文
var body = name + '様\n' +
'\n' +
'この度はお問い合わせいただき、誠にありがとうございました。' +
'\n' +
'後日、弊社担当よりご連絡させていただきますので\n' +
'よろしくお願い申し上げます。\n' +
'\n' +
'─────────────────────────\n' +
'ご送信内容の確認\n' +
'─────────────────────────\n' +
'\n' +
'【氏名】\n' +
name + '\n' +
'\n' +
'【メールアドレス】\n' +
email + '\n' +
'\n' +
'【お問い合わせ内容】\n' +
message;

// メール送信
MailApp.sendEmail({
to: email,
subject: subject,
body: body
});
}

試したこと

こちらのサイトを見まして、
https://qiita.com/mistolteen/items/404c10657b1b27007a3c
やってみたのですが、フォームの入力結果のフォントサイズを大きくすることが叶いませんでした。

つきましては、具体的なやり方についてお教えいただきたくお願いいたします。

※追記
いろいろと探しまして
こちらを参照しまして実施したのですが…
https://teratail.com/questions/281589?link=qa_related_pc

フォントサイズは大きくなったものの、今度はGASの中でフォーム回答について改行した部分が反映されなくなってしまいました。
GASで改行した状態を保ったままでフォントサイズを大きくできる方法はないのでしょうか…?

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

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

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

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

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

m.ts10806

2021/02/16 10:49

コードはもっと全体が分かるように提示してください。 そこだけ提示されてもほぼ情報ないようなものです
dshiraiwa

2021/02/16 10:54

失礼しました。コードの全体を提示しました。 こちらでいかがでしょうか?
momon-ga

2021/02/17 02:36

HTMLでは、改行コード自身に改行の意味はないのですが、 HTMLでの改行方法は、ご存じですか?
dshiraiwa

2021/02/17 03:13 編集

はい、https://teratail.com/questions/281589 を読みまして、一度、htmlへ受け渡しをするというところまでは理解できました。(以下のコードは、上記のリンクより) あとは、こちらでは「氏名」の情報のみなのですが、htmlに受け渡す際に改行を変換するタイミング(位置)が分からず、htmlでフォントサイズは変わったのですが、改行が反映されていない状態になっています…。 ----------------------------------------- 【GAS】 function sendMail(e) { /* 回答を取得 */ var email = e.namedValues["メールアドレス"]; var name = e.namedValues["氏名"]; /* message.htmlを取得 */ var html = HtmlService.createHtmlOutputFromFile("message").getContent(); /* メールを送信 */ GmailApp.sendEmail( email, //宛先 name, //件名 'htmlメールが表示できませんでした', //本文 { htmlBody: html } ); } function doGet(e) { var name = e.namedValues["氏名"]; var text =HtmlService.createTemplateFromFile('message'); text.name = name ; return text.evaluate(); } ----------------------------------------- 【HTML】(message.html) <!DOCTYPE html> <html> <head> <base target="_top"> </head> <body> <?= name ?> </body> </html>
guest

回答1

0

自己解決

先ほど、GAS上でreplace関数で、GASの改行をhtmlの改行コードに変換した上で、htmlに受け渡しをしたら上手くいきました!
(htmlメール・フォントサイズ調整・GASでの改行の引継ぎの3点について)

【GAS】---------------------------------------------------
function onFormSubmit(e) {

// フォームの回答を取得
var name = e.namedValues['氏名'][0];
var email = e.namedValues['メールアドレス'][0];
var message = e.namedValues['お問い合わせ内容'][0];

// 自動返信メール件名
var subject = 'お問い合わせいただきありがとうございました。';

// 自動返信メール本文
var body = name + '様\n' +
'\n' +
'この度はお問い合わせいただき、誠にありがとうございました。' +
'\n' +
'後日、弊社担当よりご連絡させていただきますので\n' +
'よろしくお願い申し上げます。\n' +
'\n' +
'─────────────────────────\n' +
'ご送信内容の確認\n' +
'─────────────────────────\n' +
'\n' +
'【氏名】\n' +
name + '\n' +
'\n' +
'【メールアドレス】\n' +
email + '\n' +
'\n' +
'【お問い合わせ内容】\n' +
message;

// GASからhtmlへの改行コードの変換
var neobody = body.replace(/\n/g,"<br>");

// GASからhtmlへの受け渡し
var text =HtmlService.createTemplateFromFile("message");
text.neobody = neobody;
var html = text.evaluate().getContent();

// htmlbodyを用いたメールを送信
MailApp.sendEmail({
to: email,
subject: subject,
body: body,
htmlBody: html
});
}

【HTML(message.html)】-----------------------------------------

<!DOCTYPE html> <html> <head> <base target="_top"> </head> <body> <span style="font-size:1.4em;"> <?!= neobody ?> </span> </body> </html>

投稿2021/02/17 03:28

dshiraiwa

総合スコア9

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問