top of page
検索

GAS:一括メール送信

更新日:3月20日

ある業者の方から、複数の宛先情報へ一括でメールを自動送信したい…というご依頼をいただきまして、Googleスプレッドシート+Google Apps Script(GAS)+Gmailでの提案をさせていただきました。


Excel + VBA + Outlookでのメール自動送信ツールは開発したことがあるのですが、GASでは初めてだったので、色々調べながらゴールにたどり着いた感じです💦


GASは、Google関連サービスにおいて様々な処理の自動化を行えるだけではなく、関連サービス間の連携も柔軟に対応できて、使い道の幅が広がりますよね!また、Google関連サービスは無償でも提供されているので、敷居が低い点も魅力です!



MailAppとGmailAppの違い

 

GASで使えるメール操作系クラスとしてMailApp、GmailAppの2種類が提供されています。主な違いは以下のとおりです。


MailApp

GmailApp

メール送信機能

送信元アドレス(From)は固定(それ以外はGmailAppと同等)

送信元アドレス(From)が変更可能

それ以外

(メール送信機能特化型)

下書き作成や既読処理などGmailサービス機能を網羅



■ MailAppの使用例

 

まずはMailAppクラスから説明します。

メールを送信する際の使い方は、次のとおりです。


□ MailApp.sendEmail(message)

 
  • message: 次の11種類の拡張パラメータから必要な項目を指定します。

    • to(String): 宛先を指定します。

    • bcc(String): bccアドレスを指定します。

    • cc(String): ccアドレスを指定します。

    • name(String): 差出人名を指定します。

    • noReply(Boolean): trueにすると、返信ができなくなります。GoogleWorkspaceアカウントでのみ使用可能です。

    • replyTo(String): 返信先アドレスを指定します。

    • Subject(String): 件名を指定します。

    • body(String): 本文を指定します。

    • htmlBody(String): html本文を指定します。

    • attachments(BlobSource[]): 添付ファイルを指定します。

    • inlineImages(Object): インライン画像を指定します。

 

他にも…

  • MailApp.sendEmail(recipient, subject, body)

  • MailApp.sendEmail(recipient, subject, body, options)

  • MailApp.sendEmail(to, replyTo, subject, body)

などありますが、前述の書式が最も使い勝手がいいと思います!


使い方は、こんな感じかな…


届いた側では、こんな感じになってます…

MailAppを使用して送ったメールのイメージ


■ GmailAppの使用例

 

続いてGmailAppクラスです。

こちらは本来メール送信系以外にもさまざまな操作機能が提供されていますが、メールを送信する際の使い方は、次のとおりです。


□ GmailApp.sendEmail(recipient, subject, body)

□ GmailApp.sendEmail(recipient, subject, body, options)

 
  • recipient: 宛先アドレスを指定します。

  • subject: 件名を指定します。

  • body: 本文を指定します。

  • options: 次の9種類の拡張パラメータから必要な項目を指定します。

    • attachments(BlobSource[]): 添付ファイルを指定します。

    • bcc(String): bccアドレスを指定します。

    • cc(String): ccアドレスを指定します。

    • from(String): 送信元アドレスを指定します。

    • htmlBody(String): html本文を指定します。

    • inlineImages: インライン画像(オブジェクト型)を指定します。

    • name(String): 差出人名を指定します。指定しないと、Googleアカウントのユーザ名が設定されます。

    • noReply(Boolean): trueにすると、返信ができなくなります。GoogleWorkspaceアカウントでのみ使用可能です。

    • replyTo(String): 返信先アドレスを指定します。

 

MailAppとの大きな違いは、from(送信元アドレス)が指定できることにあります。

ただし、一点注意事項が!

送信元アドレスに指定できるメールアドレスは、GAS実行者が所有しているメールエイリアスに限られます。事前にメールエイリアスを設定されていない場合、fromでメールアドレスを指定してもエラーになりますのでご注意ください。



■ 複数の宛先指定

 

toやcc、bccに複数のメールアドレスを指定したい場合は、カンマで区切って指定しましょう。


届いた側で見ると、3つの宛先が指定されていることがお分かりいただけるかと。^^

GmailAppを使用して送ったメールのイメージ


■ まとめ

 

いかがでしたでしょうか?

あとはGoogleスプレッドシートに書かれたメール情報一覧(宛先や件名、本文の一覧)をもとにメールを自動送信し続ける…なんて処理は思いのままとなります。


また機会がありましたら、添付ファイルの扱いやHTML形式での送信などについて備忘録したいと思います。

閲覧数:2,746回0件のコメント

Bình luận


bottom of page