スキップしてメイン コンテンツに移動

GASでGmail自動送信

GASでGmail自動送信

GAS連携でメール自動化を実現

Google Apps Script(GAS)を使えば、スプレッドシートのデータやフォームの入力をトリガーに、Gmail送信を自動化できます。GAS連携の基本は、GmailApp.sendEmail()を呼び出すだけです。例えば、毎朝営業データを集計し、担当者へメールで送るといったワークフローを構築できます。

自動化のポイントは、宛先件名本文を動的に生成することです。スプレッドシートのセルから値を取得し、テンプレート文字列に埋め込むことで、個別にカスタマイズされたメールを送信できます。

GmailApp.sendEmailの基本と応用

GmailApp.sendEmailは、以下のように使用します。

GmailApp.sendEmail({
  to: 'example@example.com',
  subject: '自動送信テスト',
  body: 'こんにちは、これは自動化されたメールです。',
  htmlBody: 'HTML形式の本文',
  attachments: [fileBlob]
});

上記の例では、宛先(to)、件名(subject)、本文(body)に加えて、HTMLメール(htmlBody)と添付ファイル(attachments)を指定しています。attachmentsにはBlobオブジェクトを渡す必要があります。

さらに、bccccを使って複数の受信者に配信することも可能です。GASのトリガーを設定すれば、定期的にこの関数を実行し、メール自動化を実現できます。

HTMLメールと添付ファイルの送信テクニック

HTMLメールを送る際は、htmlBodyに正しいタグを含めるだけでなく、画像やスタイルを埋め込む場合はinlineImagesを利用します。以下は画像を添付し、本文内で参照する例です。

var imgBlob = DriveApp.getFileById('FILE_ID').getBlob();
GmailApp.sendEmail({
  to: 'recipient@example.com',
  subject: '画像付きメール',
  htmlBody: '

以下の画像をご覧ください。

', inlineImages: { myImage: imgBlob } });

添付ファイルはattachmentsにBlob配列を渡すだけで送信できます。例えば、スプレッドシートからPDFを生成し、メールに添付する場合は、SpreadsheetApp.getActiveSpreadsheet().getAs('application/pdf')でBlobを取得し、送信します。

これらのテクニックを組み合わせることで、GAS連携による高度なメール自動化が可能になります。実際の業務に合わせて、テンプレートエンジンや条件分岐を追加すれば、さらに柔軟なシステムを構築できます。

この記事はAIによって作成されました。

コメント