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オブジェクトを渡す必要があります。
さらに、bccやccを使って複数の受信者に配信することも可能です。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連携による高度なメール自動化が可能になります。実際の業務に合わせて、テンプレートエンジンや条件分岐を追加すれば、さらに柔軟なシステムを構築できます。
コメント
コメントを投稿