Google Apps ScriptでGmailからHTMLメールを送信する方法

★気に入ったらシェアをお願いします!


buzon

photo credit: R~P~M Buzon via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Google App ScriptではGmailを操作してメールを送信することができます。

以下記事でお伝えしている通りです。

初心者でも簡単!Google Apps ScriptでGmailを操作してメールを送る方法
Google Apps Scriptでメールマガジンを送るシステムを作りたいと思います。シリーズ初回の今回は、Google Apps ScriptでGmailを操作してメールを送る方法です。

さてさて、そのGmailの内容として、シンプルなテキストメールだけでなく、HTMLメールも送れるのはご存じだったでしょうか?

HTMLメールが実現できるのであれば多彩なビジュアルのメールマガジンを作成することもできますし、アクションのためのリンクボタンを仕込むこともできますね。

ということで、今回はGoogle Apps ScriptでGmailからHTMLメールを送る方法についてお伝えします。

では、行ってみましょう!

sendEmailでHTMLメールを送信する

HTMLメールを送信する場合も、GmailAppサービスのsendEmailメソッドを使います。

書き方を復習しておきますと

GmailApp.sendEmail(送信先アドレス, 件名, 本文, オプション)

となります。

このオプションの部分に連想配列の形式で、様々なオプションを設定できます。

オプション名 機能
attachments 添付ファイル
bcc bccアドレス
cc ccアドレス
from fromアドレス
name 送信者名

などが挙げられますが、htmlメール用のオプションとしてhtmlBodyを設定することができます。

htmlBody: HTML文

ですから、例えばhtmlという変数にHTML文を準備できれば

とすれば良いわけです。

ちなみに、htmlBodyを設定しておくと、HTMLメールが閲覧できる環境ではそれが表示され、そうでない場合はbodyが表示されるようになります。

プロジェクト内のhtmlファイルを

HTML文ですが、ベタ打ちで変数に格納しても良いのですが、せっかくですからプロジェクト内のhtmlファイルを使いましょう。

プロジェクト内のhtmlファイルは、HtmlServiceのcreateHtmlOutputFromFileメソッドとgetContenメソッドで読み込むことができます。

HtmlService.createHtmlOutputFromFile(ファイル名)
HtmlOutputオブジェクト.getContent()

例えば「message.html」というファイル名でメッセージ用のHTML文を用意しているのであれば

とすることで、変数htmlに格納することができます。

詳細は以下の記事をご覧下さい。

Google Apps ScriptのWebアプリケーションにCSSでスタイル設定をする
Google Apps ScriptでWebアプリケーションを作る方法についてお伝えしています。今回GASのWebアプリケーションにCSSでスタイル設定をする方法です。CSSを別ファイルにする方法もありますよ。

GASでHTMLメールを送るスクリプト

では、試しにHTMLメールを作成して送信してみましょう。

まず、HTML文はmessege.htmlに以下を用意しました。

備品購入申請の承認を促すメールを想定しています。今、URLはサンプルとして本ブログにしていますが、次回以降のシリーズでワークフローが実現できるようなURLに変更していきます。

そして、gsファイルには以下のsendHtmlMailを作成します。

HTMLを実行した結果

sendHtmlMailを実行すると、以下のようなメールが送信先に送られます。

GASで送信したHTMLメール

見出し、リスト、ボタンなどそのスタイルとともにちゃんと表示されていますね。

ボタンは押下するとちゃんと当ブログのトップページに飛びますです。

まとめ

Google Apps ScriptでHTMLメールを送る方法についてお伝えしました。

htmlファイルさえ準備できれば簡単ですね!

さて今後ですが、今回作ったHTMLメールをベースとして、備品購入申請のワークフローを作りあげていきたいと思います。

次回は、GASにURLでアクセスした際に処理をする方法、またURLのパラメータの内容によって処理を分岐する方法をお伝えしていきます。

【GAS】doGet関数でURLのパラメータを受け取りその内容に応じた処理をする
Google Apps Scriptを使って簡単なワークフローを作っていきます。今回は、GASによるWebアプリケーションでURLのパラメータを受け取って、その内容に応じてHTMLを表示します。

どうぞお楽しみに!

連載目次:初心者でも作れるGASによる簡単ワークフロー

スプレッドシート、Gmail、フォーム…Google Apps Scriptで操作できるアプリケーションはまさに「ワークフロー」を作成する上で必要なものが揃っています。ということで、このシリーズでは初心者でも簡単に作れるワークフローの作り方について解説をしていきます。
  1. Google Apps ScriptでGmailからHTMLメールを送信する方法
  2. 【GAS】doGet関数でURLのパラメータを受け取りその内容に応じた処理をする

The following two tabs change content below.
1976年こどもの日生まれ。東京板橋区在住。「ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、コンサル、執筆本を中心に活動しています。→詳しいプロフィールはコチラ ★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ ★フォロー頂ければ嬉しいです。