見出し画像

【GAS】Spreadsheetに設置したボタンを押したらメールを送る

「今日発注ありますか」みたいな定形文の連絡を、決まった相手に、必要な時にだけボタンひとつで送る仕組みを作ります。
そんなのいつ使うんだ、と思われるでしょうが、今の私には必要なんだよ。

結論

function send_mail(address, subject, body){
  let options = {"from": "送信元メールアドレス"}
  GmailApp.sendEmail(recipient = address, subject = subject, body = body, options = options)
}

function test_send_mail(){
  let address = "相手先メールアドレス"
  let subject = "これはテストメールです"
  let body = "ちゃんと届いた?"
  send_mail(address, subject, body)
}

これだけで送信元メールアドレスとして指定したメールアドレスから、相手先として指定したアドレスへメールが行きます。
ログインしているアカウントとは別のGmailアドレスを指定してみましたが、googleさんがGmailでよくキレ散らかす「このメールアドレスから送られた保証がありません」メッセージは出ませんでした。Google経由だから良いらしい。(送信元として設定したアドレス宛に、「送信元として使ってもいいかね?」という連絡一切来なかったけど大丈夫なんだろうか)

あとは画面に適当な長方形を描画して、

適当な長方形を描画したところ

長方形を選択→スクリプトを割り当てを選び、test_send_mailを設定してあげれば終了です。
あとは必要に応じて、メールアドレスを都度シートから取得したり、本文やタイトルを都度変更したりするロジックを足してください。

options引数を活用する

今回は送信元メールアドレスの指定にしか使っていませんが、他にも添付ファイルをくっつけられたり、送信元名を設定できたり色々便利です。
でも今回は必要ないので触れません。

この記事が気に入ったらサポートをしてみませんか?