第1話 毎週メールを自動送信したい 〜その2 メールの文章を整える〜

Google Apps Script

こんにちは、ばばーるです。

スポンサーリンク

前回のおさらい

前回はGmailApp.sendEmailでメールを送信する方法をご紹介しました。

  • GmailApp.sendEmail(‘送信先’, ‘件名’, ‘本文’);でメール送信できる。

今回はメールの文章を整える方法をご紹介します。

キリン部長に届いたメール

キリン部長
キリン部長

???

sendEmailのオプション機能

GAS
GAS

今頃キリン部長は困惑していると思うよ。

たぬきさん
たぬきさん

そんなことより、文章がうまく書けないけどどうしたらいいの?

GAS
GAS

(そんなこと???)
それはhtmlBodyを使ったらいいよ。

sendEmail( )にはオプション機能がついていて、様々な操作ができます。

名前   型                  表現
attachmentsBlobsource[] / バイナリデータ電子メールで送信できるファイル。Googleスプレッドシートや、PDFや色々なデータが使用できます。
bccString / 文字列BCCの宛先
ccString / 文字列CCの宛先
htmlBodyString / 文字列設定されている場合、HTMLを使用できます。メールにインライン画像がある場合は、HTML本文にオプションのinlineImagesフィールドを追加できます。
inlineImagesObject / オブジェクト型htmlBodyが使用された場合に、画像への参照が<img src = “cid:imageKey” />というhtml表現を使ってメールに貼り付けることができます。
nameString / 文字列送信者の名前を表現できます。
noReplyBoolean / ブーリアン型 TrueかFalseを入力すると、送信者の名前がnoReplyで表現されます。
replyToString / 文字列受信者が返信すると気に、宛先を送信者以外に設定できます。

今回はhtmlBodyをご紹介します。

htmlとは?

html(HyperText Markup Language)は、ハイパーテキストを記述するためのマークアップ言語の1つです。

たぬきさん
たぬきさん

さっぱりわからん。

Webぺージを構成している言語です。こんな感じで書かれます。

このhtmlを使うと整ったWebページやメールの文章を書くことができます。

↓ 例えばこんなWebページ

htmlBodyの使い方

前回たぬきさんがキリン部長に送ったメールのスクリプトをみてみましょう。

function sendEmail() {
  GmailApp.sendEmail('送信先アドレス@sample.com', 'テストメールを送ります たぬきより',
                     'キリン部長 ちょっとメール送ります スクリプトから送っているんですよ。たぬきより');
}

分かりやすいように、それぞれの変数をsendEmailの前に定義しておきます。

function sendEmail() {
  const to = '送信先アドレス@sample.com';                                                 //1行目
  const subject = 'テストメールを送ります たぬきより';                                      //2行目
  const body = 'キリン部長 ちょっとメール送ります スクリプトから送っているんですよ。たぬきより';   //3行目
  
  GmailApp.sendEmail(to, subject, body);
}

3行目の文章ですが、たぬきさんは段落を設けて送るつもりでした。

そのように文章を書くにはhtmlBodyオプションを使用します。

function sendEmail() {
  const to = '送信先アドレス@sample.com';                    //1行目
  const subject = 'テストメールを送ります たぬきより';          //2行目
  const body = '';                                         //3行目

  let html = 'キリン部長<br><br>'                            //4行目
  html += 'ちょっとメール送ります。<br>'                       //5行目
  html += 'スクリプトから送っているんですよ。<br><br>'           //6行目
  html += 'たぬきより'                                       //7行目
  
  GmailApp.sendEmail(to, subject, body, {htmlBody:html});  //8行目
}

3行目: Bodyは空にしてきます。ここに文字を入力してしまうとhtmlBodyを読み込まず、Bodyの文章を送信してしまいます。
4~7行目: htmlと変数名を指定して、文章を’ ‘の間に記載していきます。<br>というのは改行という意味で、<br>を2つ重ねることで空白行を文章中に挿入することができます。+=は前の行と文章をつなげているだけです。
8行目: sendEmailのオプション設定{ }の中にhtmlBody: htmlを記載するだけです。

たぬきさん
たぬきさん

そうそう。
こんな感じの文章送ろうとしてた。

まとめ

他にもメールの文章を整えるためのhtmlの書き方はあるのですが、今回は

  • htmlBodyオプションを使うと文章をhtml表現で整えることができる
    その際に、Bodyは空白にしておく
    文章は+= もしくは + でつなげることができる

次回はオプションを使って具体的なメールを送信する方法についてお伝えします。

コメント

  1. […] 第1話 毎週メールを自動送信したい 〜その2 メールの文章を整える〜… Google Apps Script ストーリー スポンサーリンク シェアする Twitter Facebook はてブ Pocket LINE コピー ばばーるをフォローする ばばーる Google Apps Scriptでできること […]

  2. […] 第1話 毎週メールを自動送信したい 〜その2 メールの文章を整える〜… […]

タイトルとURLをコピーしました