Gratis! API Email Sendiri dengan Google Apps Script
Butuh kirim email notifikasi dari website? Atau konfirmasi pendaftaran? Mungkin juga kirim laporan harian?
Pilihan pertama biasanya jatuh ke layanan API email pihak ketiga seperti SendGrid, Mailgun, atau sejenisnya. Tapi, layanan itu seringkali punya batasan *free tier* yang ketat atau... ya, harus bayar.
Padahal, kalau kebutuhan Anda belum sampai ribuan email per hari, ada "harta karun" yang mungkin sudah Anda punya tapi jarang dioptimalkan: **Google Apps Script (GAS)**.
Di artikel ini, kita akan bedah gimana caranya "menyulap" akun Google (baik Gmail biasa atau Google Workspace) menjadi sebuah API pengiriman email yang canggih. Gratis, *serverless*, dan terintegrasi penuh dengan ekosistem Google.
#### Kenapa Pakai Google Apps Script?
Google Apps Script pada dasarnya adalah platform JavaScript *serverless* yang berjalan di infrastruktur Google. Anda tidak perlu pusing mikirin server, *uptime*, atau *scaling*.
Keuntungannya?
1. **Gratis:** Anda hanya dibatasi oleh kuota harian Gmail (100 email/hari untuk Gmail biasa, 1.500/hari untuk Workspace). Untuk notifikasi atau formulir web, ini SANGAT cukup.
2. **Terintegrasi:** Bisa langsung kirim email pakai `GmailApp`, mencatat log ke `SpreadsheetApp`, bahkan ambil lampiran dari `DriveApp`.
3. **Kontrol Penuh:** Anda yang buat logikanya. Mau dibatasi, mau difilter, semua bisa diatur.
#### Bukan Sekadar `GmailApp.sendEmail` Biasa
Skrip yang akan kita gunakan ini bukan cuma skrip "kirim email" biasa. Ini adalah API lengkap yang punya banyak fitur profesional:
* **Logging ke Google Sheets:** Siapa yang kirim? Kapan? Statusnya apa? Gagal atau sukses? Semua tercatat rapi di Google Sheet. Bahkan ada dashboard monitoringnya!
* **Keamanan:** Dilengkapi API Key sederhana biar nggak sembarang orang bisa pakai, plus *Rate Limiting* harian biar nggak kebobolan kuota.
* **Support Attachment:** Mau kirim invoice PDF dari Google Drive? Atau file gambar dari data Base64? Bisa.
* **Manajemen:** Ada endpoint `health-check` untuk monitor dan `clear-logs` untuk bersih-bersih data lama.
#### Cara Kerjanya Gimana?
Sederhana:
1. Kita buat skrip GAS dengan fungsi `doPost(e)`.
2. Skrip ini kita *deploy* sebagai **Web App**.
3. Kita dapat satu URL unik dari Google.
4. URL inilah yang kita "tembak" (via POST) dari aplikasi atau website kita, sambil membawa data JSON (penerima, subjek, isi email, dan API key).
5. GAS menerima JSON itu, memvalidasinya, lalu menyuruh `GmailApp` untuk mengirim email.
6. Terakhir, GAS mencatat hasilnya ke `SpreadsheetApp`.
#### Tertarik Mencoba?
Membuat API sendiri seperti ini sangat berguna untuk prototipe cepat, proyek internal, atau bahkan aplikasi skala kecil hingga menengah. Anda bisa menghemat biaya langganan layanan email dan mendapatkan kontrol penuh atas data Anda.
Kami sudah siapkan *source code* lengkapnya di repository GitHub kami. Anda tinggal *copy-paste*, lakukan sedikit konfigurasi (seperti ID Spreadsheet untuk log), dan deploy.
[Link ke Repository GitHub Anda di Sini]
Punya ide kustomisasi atau butuh bantuan untuk mengintegrasikannya dengan sistem Anda? Jangan ragu untuk diskusi di kolom komentar atau [hubungi tim Classy](link-ke-kontak-anda)!
Selamat ngoprek!