見出し画像

【生成AI×GAS】GASでメールを送る

オレンジピーチのトシです。
 今回は、GAS(Google Apps Script) を用いて、スプレッドシートからGmailを使ってメール送信する方法を紹介していきます。
 今回も、生成AIを用いてGASを書いて実行する方法で行います。
プログラムの知識がなくても、「GASを作ることが出来る!」ということを知って頂ければHappyです。

 しかし、紹介をはじめる前に、注意点があります。難しくはないので、心に留めておいて下さい。
注意点としては、『メールアドレスの取り扱いに注意する』です。
この後紹介する内容を読んで頂ければ、簡単にメールが送信出来ることが分かると思います。

 今回作成したGASを用いて、誤ったメールアドレスに送付してしまうと、受け手側の迷惑になります。 また、リストに応じてメール送信できるので、多くの人に送信することも出来ますが、受け取る人とってそれほど重要ではないメールが多数届くのは、業務効率を下げかねません。
 せっかく、GASや生成AIを使って、業務の効率化を行おうとしているのに、 結果として、従業員の業務効率を落としては本末転倒です。

 何のために送るメールなのか、誰が必要とするメールなのか、実行前によく考えて頂きたいと思います。


完成イメージ:やりたいこと

 今回、実施したいことは、スプレッドシートにある「配信先リスト」に従って、Gmailでメール発信をすることです。
 配信先のメールアドレスは、「配信先リスト」のシートのB列に記載されています。 現在は、3件だけの登録ですが、今後、増える可能性もあるため、「B2セルより下のセル」にある宛先に送付します。

生成AIを使ってGASを作り、実行する。

今回も、生成AIとして、Microsoft Bing Copilot を利用しました。

生成AIは、同じ質問をしても、異なる回答が返ってくることが多いので、もしこの記事をご覧になって、同じように質問しても、違う回答となるかもしれません。しかし、簡単なプログラムなので、概ね動くものにはなるかとおもいます。
(生成AIの安全性については、様々な議論が行われているため、会社で使う場合は、自社の利用規定などを確認してから使用してください。
 また、個人情報などは入力しないか、生成AIごとの推奨に基づいた形での利用をお薦めします。)

メールの記載の説明。

 今回は、転記の終わったスプレッドシートを社内に配信することを想定して、次のようなメールを送りたいと思います。

件名: スプレッドシートの配信
本文: みなさん、お疲れ様です。
  スプレッドシートへの転記が終了しましたので、リンクを送信します。
  リンク: *******〔ここにリンクを記載する〕

生成AIに指示を出す。

一番下のリンクの箇所は、スクリプトエディタに貼り付けた後で、スプレッドシートのURLリンクに置き換える予定です。

生成AIからの回答が届く。

内容を読むと、指示が正確に伝わっているようです。

GASにコードをコピペし、実行する。

 スプレッドシートのURLの箇所は、実際の「配信先メールアドレス」のスプレッドシートのURLに入れ替えます。

function myFunction() {
  const ss = SpreadsheetApp.openByUrl("スプレッドシートのURL"); // スプレッドシートのURLを指定
  const sheet = ss.getSheetByName("配信先メールアドレス"); // シート名を指定
  const recipient = sheet.getRange(2, 2).getValue(); // 2列目2行目に入っているメールアドレス情報を取得
  const subject = "スプレッドシートの送信"; // 件名
  const body = "みなさん、お疲れ様です。\nスプレッドシートへの転記が終了しましたので、リンクを送信します。\nリンク:******"; // 本文を入力
  GmailApp.sendEmail(recipient, subject, body); // Gmailアプリを起動してメールを送信
}

はじめてGASを実行する際には、「権限の承認」などが問われます。
より詳細な内容は、過去の記事で紹介していますので、はじめての人はこちらも読んで見てください。

実行した結果、メールは送られたが、狙い通りにはならず。

 送られてきたメールが、下図のものです。
無事、メールが送られたと思いましたが、送付されていたのは、リストの一番上、スプレッドシートのB2セルに記載の「メールアドレス」にのみ送信されていました。

まとめ

 今回は、スプレッドシートの表にあるメールアドレスに、メール送信するGASを作成しました。
 結果は、メールは送信することが出来ましたが、送付できたのは1つのメールアドレスのみでした。
 次回は、原因究明を行って、コードを修正したいと思います。

最後まで読んで頂き、ありがとうございました。

この記事が少しでもお役に立てたのなら、サポートいただけると嬉しいです。頂いたご支援は、今後の活動費やコンテンツの質向上に使わせていただきます。