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

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

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

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

Google Apps Script

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

HTML

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

Q&A

解決済

1回答

4271閲覧

GASで複数人に一括メール配信する際に、ドキュメントからHTML(画像/Link付)で送る方法が分からないです。

m-you

総合スコア13

Gmail

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

Google Apps Script

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

HTML

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

0グッド

0クリップ

投稿2019/03/20 19:17

編集2019/03/20 19:24

前提・実現したいこと

Google scriptとドキュメントを使い、複数人に一括メール送信ができるツールを作ろうと思っています。
テキストのみ送信は出来るようになったのですが、メールの中にLINEの[友達追加]ボタンを表示(受信者はクリックしたらLINEが開く)されるようにしたく、ドキュメントの方に画像(リンク付)を載せてみたのですが、HTMLで送られない為、画像付きでの送信ができません。
スクリプトエディタのどこのコードをどう変えたらよいのか見当がつかず、困っている状況です。
どなたかご教授いただければ幸いです。

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

相手の受信メールに画像も入ったHTMLで送りたいのですが、 テキストの状態で送られてしまいます。

該当のソースコード

function sendMail(){ /* スプレッドシートのシートを取得と準備 */ var mySheet=SpreadsheetApp.getActiveSheet(); //シートを取得 var rowSheet=mySheet.getDataRange().getLastRow(); //シートの使用範囲のうち最終行を取得 /* ドキュメント「メール本文テスト」を取得する */ var docTest=DocumentApp.openById("ドキュメントID"); //ドキュメントをIDで取得 var strDoc=docTest.getBody().getText(); //ドキュメントの内容を取得 /* メール表題、fromアドレス、差出人名を準備 */ var strSubject="【●●●】ぜひお話がしたいです。"; //表題 var strFrom="●●●@●●●●.com"; //From var strSender="●●●●●●●●"; //差出人 /* シートの全ての行について社名、姓名を差し込みログに表示*/ for(var i=2;i<=rowSheet;i++){ var strCompany=mySheet.getRange(i,1).getValue(); //社名 var strSecond=mySheet.getRange(i,2).getValue(); //姓 var strFirst=mySheet.getRange(i,3).getValue(); //名 var strTo=mySheet.getRange(i,4).getValue(); //toアドレス var strBody=strDoc.replace(/{社名}/,strCompany).replace(/{姓}/,strSecond).replace(/{名}/,strFirst); //社名、姓名を置換 /* メールを送信 */ GmailApp.sendEmail( strTo, //toアドレス strSubject, //表題 strBody, //本文 { from: strFrom, //fromアドレス name: strSender //差出人 } ); } }

試したこと

strBody, //本文 の部分をHTMLBodyに変えてみたりしたのですが、出来ませんでした。。
その他、他の参考サイトを見てみたのですが、何を変えればよいのか見当がついてない状況です。

補足情報(FW/ツールのバージョンなど)

現在の仕立ては以下のようにしています。
Google script →送りたい先の名前やメールアドレスのリストを記載しています。
ドキュメント  →実際に送りたいメール本文を記載しています。

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

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

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

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

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

guest

回答1

0

ベストアンサー

sendEmailの部分を以下のようにするとhtmlメールが送れます

GAS

1var htmlbody = "html形式本文"; 2 3GmailApp.sendEmail( 4 strTo, //toアドレス 5 strSubject, //表題 6 strBody, //本文 7 { 8 htmlBody:htmlbody,//htmlメール本文 9 from: strFrom, //fromアドレス 10 name: strSender //差出人 11 } 12 );

投稿2019/03/22 02:39

hiroshi0240

総合スコア640

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

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

m-you

2019/03/23 09:02

hiroshi0240さん ありがとうございます! 無事に解決できました! とても助かりました!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問