
Cloudflare diam-diam punya fitur yang cukup menarik untuk developer, founder, dan tim operasional: Cloudflare Email Service.
Selama ini banyak orang tahu Cloudflare untuk DNS, CDN, firewall, Workers, R2, atau Pages. Tapi belum banyak yang sadar bahwa dari satu ekosistem yang sama, kita juga bisa route email masuk dan kirim email keluar dari aplikasi.
Bagian paling menariknya: ada skenario yang benar-benar bisa dipakai gratis.
Tapi harus dibaca dengan benar. Gratisnya bukan berarti semua email ke semua orang bebas tanpa batas. Menurut dokumentasi resmi Cloudflare, Email Routing tersedia di Workers Free dan Paid, sedangkan Email Sending ke arbitrary recipients butuh Workers Paid. Yang gratis di semua plan adalah pengiriman ke verified destination addresses di akun Cloudflare, dan pengiriman itu tidak dihitung ke monthly quota maupun daily sending limits.
Itu mungkin terdengar kecil. Tapi untuk workflow operasional, monitoring, automation, alert internal, lead notification, dan agentic system, ini justru sangat berguna.
Apa itu Cloudflare Email Service?
Cloudflare Email Service adalah layer email milik Cloudflare yang punya dua sisi:
- Email Routing untuk menerima email yang masuk ke domain, lalu meneruskannya ke alamat email tertentu atau ke Cloudflare Workers.
- Email Sending untuk mengirim email keluar dari aplikasi lewat Workers binding, REST API, atau SMTP.
Artinya, kalau domain sudah dikelola di Cloudflare, kita bisa membuat alur seperti ini:
[email protected]masuk ke inbox tujuan.[email protected]diproses oleh Worker.- aplikasi mengirim email notifikasi lewat REST API.
- Worker mengirim email transaksi langsung dari binding native.
- automation agent menerima email masuk, memproses isinya, lalu membuat ticket, task, atau log operasional.
Ini bukan sekadar fitur email biasa. Ini mulai masuk ke wilayah email sebagai interface sistem.
Bagian gratisnya di mana?
Ini poin yang harus presisi.
Berdasarkan halaman pricing resmi Cloudflare Email Service:
- Inbound Email Routing tersedia di Workers Free dan Workers Paid.
- Sending ke arbitrary recipients tidak tersedia di Workers Free dan membutuhkan Workers Paid.
- Sending ke verified destination addresses gratis di semua plan.
- Di Workers Paid, Email Sending mendapat 3.000 outbound emails included per month, lalu dikenakan $0.35 per 1.000 email setelahnya.
Jadi untuk produksi yang mengirim email ke customer umum, ini bukan "gratis tanpa syarat". Tapi untuk banyak kebutuhan internal, gratisnya tetap sangat berguna.
Contoh yang masuk akal:
- kirim alert server ke email owner,
- notifikasi order masuk ke tim internal,
- laporan harian dari automation,
- hasil audit SEO/ads ke inbox tim,
- alert keamanan dari Worker atau backend,
- email test dari staging environment,
- agent workflow yang hanya mengirim ke alamat tujuan terverifikasi.
Kalau penerimanya adalah alamat yang sudah diverifikasi di akun Cloudflare, pengiriman tersebut gratis dan tidak memakan kuota bulanan.
Kenapa ini menarik untuk tim kecil?
Masalah email transactional biasanya sederhana di awal, tapi cepat jadi ribet.
Awalnya cuma butuh kirim notifikasi. Lalu perlu SMTP provider. Lalu perlu DNS record. Lalu perlu SPF, DKIM, DMARC. Lalu perlu cek bounce. Lalu perlu log. Lalu perlu rate limit. Lalu perlu deliverability.
Cloudflare Email Service menarik karena sebagian besar fondasinya sudah berada di tempat yang sama dengan DNS dan Worker runtime.
Kalau domain memang sudah memakai Cloudflare DNS, setup-nya lebih natural:
- domain di-onboard dari dashboard Cloudflare,
- Cloudflare menambahkan record untuk
cf-bounce, - SPF, DKIM, dan DMARC disiapkan untuk domain pengirim,
- aplikasi bisa mengirim lewat Workers binding, REST API, atau SMTP,
- inbound email bisa diroute ke address biasa atau Worker.
Untuk tim kecil, ini mengurangi jumlah vendor yang harus dijaga.
Untuk tim teknis, ini membuka pola yang enak: email bisa jadi bagian dari edge workflow.
Tiga cara kirim email
Cloudflare menyediakan tiga jalur pengiriman.
1. Workers binding
Ini jalur paling native kalau aplikasi berjalan di Cloudflare Workers.
Di wrangler.toml, kita bisa menambahkan binding:
[[send_email]]
name = "EMAIL"
remote = true
Lalu di Worker, email bisa dikirim dari environment binding:
export default {
async fetch(request: Request, env: Env): Promise<Response> {
const response = await env.EMAIL.send({
to: "[email protected]",
from: "[email protected]",
subject: "Welcome to our service!",
html: "<h1>Welcome!</h1><p>Thanks for signing up.</p>",
text: "Welcome! Thanks for signing up."
})
return new Response(`Email sent: ${response.messageId}`)
}
} satisfies ExportedHandler<Env>
Untuk aplikasi yang sudah memakai Workers, ini paling bersih. Tidak perlu bawa SMTP client sendiri hanya untuk kirim email sederhana.
2. REST API
Kalau aplikasi tidak berjalan di Cloudflare, REST API lebih fleksibel.
Contohnya:
curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/email/sending/send" \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
"to": "[email protected]",
"from": "[email protected]",
"subject": "Welcome to our service!",
"html": "<h1>Welcome!</h1><p>Thanks for signing up.</p>",
"text": "Welcome! Thanks for signing up."
}'
Ini cocok untuk backend Node.js, Laravel, Python, Go, atau automation script yang butuh kirim notifikasi tanpa memasang SMTP stack.
3. SMTP
Cloudflare juga menyediakan jalur SMTP:
curl --ssl-reqd \
--url "smtps://smtp.mx.cloudflare.net:465" \
--user "api_token:<API_TOKEN>" \
--mail-from "[email protected]" \
--mail-rcpt "[email protected]" \
--upload-file mail.txt
Jalur ini penting karena banyak aplikasi lama hanya tahu SMTP. Jadi migrasinya bisa lebih mudah.
Setup domain: jangan skip bagian DNS
Cloudflare memberi catatan penting: domain harus memakai Cloudflare DNS untuk menggunakan Email Service.
Setup domain dilakukan dari dashboard:
- Buka Compute > Email Service > Email Sending.
- Pilih Onboard Domain.
- Pilih domain dari akun Cloudflare.
- Review record yang akan ditambahkan Cloudflare.
- Selesai.
Record yang disiapkan termasuk:
- MX record untuk bounce handling lewat
cf-bounce, - TXT SPF untuk authorize pengiriman,
- TXT DKIM untuk autentikasi email,
- TXT DMARC di
_dmarc.yourdomain.com.
Cloudflare menyebut DNS propagation bisa memakan waktu hingga 24 jam, meskipun biasanya selesai dalam 5-15 menit jika domain memakai Cloudflare DNS.
Batasan yang harus diketahui
Cloudflare Email Service bukan tempat untuk blast newsletter sembarangan.
Beberapa batasan penting dari dokumentasi resmi:
- maksimum 50 penerima per email, gabungan
to,cc, danbcc, - subject maksimal 998 karakter,
- total message size 5 MiB,
- total message size 25 MiB khusus verified destination addresses,
- header custom maksimal 16 KB,
- akun baru mulai dengan daily quota konservatif dan bisa naik seiring reputasi.
Untuk email marketing massal, tetap lebih cocok memakai platform yang memang punya unsubscribe management, audience segmentation, campaign analytics, warmup strategy, dan compliance workflow.
Cloudflare Email Service lebih cocok untuk transactional email, alert, notification, automation, dan sistem teknis yang butuh pengiriman email yang ringan tapi rapi.
Use case paling praktis
Menurut saya, use case terbaiknya bukan langsung mengganti semua provider email.
Use case terbaiknya adalah membuat jalur email operasional yang murah, cepat, dan dekat dengan infrastruktur Cloudflare.
Contoh konkret:
Alert internal
Worker mendeteksi error, webhook gagal, atau anomaly traffic. Email dikirim ke verified destination address milik tim.
Untuk skenario ini, biaya bisa tetap nol selama penerima adalah alamat terverifikasi.
Lead notification
Form landing page masuk ke Worker. Worker menyimpan data ke database atau queue, lalu mengirim notifikasi ke tim sales.
Kalau notifikasi hanya ke email internal yang sudah diverifikasi, ini bisa jadi alur yang sangat hemat.
Laporan harian
Cron Worker membuat laporan ringkas: traffic, leads, checkout, ad spend, atau system health. Lalu email dikirim ke owner atau operator.
Ini cocok untuk bisnis kecil yang belum butuh dashboard kompleks.
Agentic workflow
Email masuk ke [email protected], diterima Email Routing, diproses Worker, lalu diteruskan ke sistem task internal.
Di sisi sebaliknya, agent bisa mengirim summary atau alert lewat Email Sending.
Ini menarik karena email masih menjadi interface yang sangat universal. Orang tidak perlu login ke dashboard baru hanya untuk mengirim instruksi sederhana.
Kapan harus pakai Cloudflare Email Service?
Pakai Cloudflare Email Service kalau:
- domain sudah ada di Cloudflare,
- butuh kirim email transactional sederhana,
- butuh routing email masuk ke inbox atau Worker,
- butuh alert internal murah,
- ingin mengurangi dependency vendor,
- ingin email masuk/keluar menyatu dengan edge automation.
Jangan jadikan ini satu-satunya jawaban kalau:
- butuh newsletter blast,
- butuh marketing automation kompleks,
- butuh template editor visual,
- butuh unsubscribe center lengkap,
- butuh segmentation dan campaign analytics,
- butuh reputasi pengiriman skala besar sejak hari pertama.
Kesimpulan
Cloudflare Email Service menarik karena posisinya unik.
Dia bukan sekadar SMTP provider. Dia adalah bagian dari Cloudflare developer platform: DNS, Workers, routing, API, SMTP, dan automation bisa duduk di satu ekosistem.
Yang paling penting: klaim "gratis" harus dibaca dengan benar. Sending ke verified destination addresses gratis di semua plan. Untuk mengirim ke penerima umum, gunakan Workers Paid, dengan 3.000 email termasuk per bulan lalu biaya tambahan per 1.000 email.
Untuk bisnis kecil, developer solo, dan tim operasional yang sudah memakai Cloudflare, ini tetap big deal.
Karena banyak workflow tidak butuh sistem email mahal. Kadang yang dibutuhkan cuma satu hal: notifikasi penting sampai ke inbox yang benar, dengan setup yang rapi dan biaya serendah mungkin.


