Google Apps Script で メール送信

Google Apps Script から メールを送信する

Google Apps Script(GAS)からメールを送信してみます。

手順

まずはGoogleドライブ で新しいGoogle Apps Scriptのプロジェクトを作成します。

次に、作成したspreadsheetにGoogle Apps Script(GAS)を追加します。

/**
 * テスト用関数
 */
 function myFunction() {
  sendGmail("XXXX@gmail.com", "TEST", "テストだよ~ん");
}


/**
 * Gmail送信処理
 *
 * @param {string|string[]} address    - 送信先アドレス
 * @param {string} subject  - サブジェクト(最大250文字)
 * @param {string} message  - 送信するメッセージ
 * 
 * @note 送信先アドレスが間違っていてもここではエラーにならず、送信元アドレスにエラーメールが返る
 */
function sendGmail(address, subject, message) {

  // アドレスが配列だったらカンマ区切りの文字列に変換する
  if (Array.isArray(address)) {
    address = address.join(',');
  } else {
    // そのまま
  }
  var options = {
    name: "てすと"        // 送信者名を指定したい場合は入れる
    // , replyTo: "ZZZZ@gmail.com"     // Reply-To を指定したい場合は入れる
  };

  // メール送信
  GmailApp.sendEmail(address, subject, message, options);
}

[!NOTE] 送信元アドレスにはこのスクリプトを実行しているGoogleユーザ(デプロイ設定によってはそのとき実行しているGoogleユーザ)が使用されます。
optionsで「from」フィールドを指定する事が出来ますが、このアドレスは送信元アドレスのaliasである必要があります。
そうでない場合は例外 Invalid argument がthrowされます。

[!NOTE] 送信先アドレスが間違っていてもここではエラーになりません。
送信元アドレスにエラーメール(subject:「Delivery Status Notification (Failure)」)が送られてきます。

最後に

関数化する必要もないくらい簡単ですが😅