Brevo SMTP: Panduan Pengaturan, Konfigurasi, dan Pemecahan Masalah

Konfigurasikan Brevo SMTP dengan benar: host server, port 587, 465, dan 2525, kunci SMTP, autentikasi domain, contoh WordPress dan kode, batasan, serta perbaikan error.

Brevo SMTP
Brevo SMTP?

Brevo SMTP memindahkan email keluar sebuah aplikasi dari agen email lokal di web host menuju infrastruktur yang mengautentikasi, mencatat, dan melaporkan setiap pesan. Pengaturannya kecil: satu hostname, satu port, dua kredensial. Kesalahannya juga kecil, dan mode kegagalannya senyap. Panduan ini membahas konfigurasinya, model kredensialnya, pekerjaan DNS yang membuat pengiriman benar-benar sampai, serta error yang akan Anda temui jika salah satu bagiannya salah konfigurasi. Jika Anda masih memilih penyedia, panduan layanan email SMTP yang lebih luas membandingkan pasarnya lebih dulu.

Apa itu Brevo SMTP

Brevo menggambarkan Brevo SMTP sebagai layanan SMTP relay miliknya. Aplikasi, situs, atau mail server Anda menyerahkan sebuah pesan ke relay melalui koneksi terautentikasi, lalu Brevo mengambil tanggung jawab atas perutean, percobaan ulang, reputasi, dan pelaporan. Statistik untuk email yang direlay muncul berdampingan dengan statistik kampanye, dan sebuah hard bounce otomatis mem-blocklist kontak tersebut.

Relay ini dibangun untuk pesan transaksional: reset password, tanda terima, konfirmasi pesanan, notifikasi akun. Jika batas antara pesan tersebut dan email pemasaran belum jelas bagi Anda, apa itu email transaksional membahasnya.

SMTP atau REST API

Kedua jalur menuju platform yang sama. Pembagian praktisnya:

Pakai SMTP ketikaPakai REST API ketika
Sistemnya hanya bisa berbicara SMTP (WordPress, Postfix, sebuah ERP, sebuah klien email)Anda menulis sendiri integrasinya dan menginginkan error yang terstruktur
Anda memigrasikan konfigurasi SMTP yang sudah ada dan ingin perubahan sesingkat mungkinAnda butuh pengiriman batch, penjadwalan, atau kunci idempotensi

Satu batasan tegas: dokumentasi developer Brevo menyatakan SMTP relay tidak mendukung pengiriman batch, dan mengarahkan operasi batch ke endpoint API.

Membuat kredensial SMTP Anda

Autentikasi SMTP Brevo memakai dua nilai yang mudah tertukar dengan kredensial yang sudah Anda miliki.

Temukan SMTP login Anda

SMTP login Anda bukan alamat email akun Brevo Anda. Ini adalah identifier terpisah yang ditampilkan pada kolom Login di halaman Settings, SMTP and API, dengan format [email protected].

Dua aturan menyusul, keduanya dari dokumentasi pemecahan masalah Brevo. Jangan menaruh smtp-relay.brevo.com di kolom username: itu adalah host relay, bukan login Anda. Dan jangan menaruh SMTP login Anda di header From, karena login itu mengautentikasi Anda, bukan mengidentifikasi seorang pengirim.

Buat kunci SMTP

Passwordnya adalah kunci SMTP, bukan password akun Anda dan bukan API key.

  1. Buka dropdown akun lalu pilih Settings, kemudian SMTP and API.
  2. Di tab SMTP, klik Generate a new SMTP key.
  3. Beri nama kunci sesuai integrasi yang akan memakainya.
  4. Pilih variannya. Standard adalah kunci 64 karakter yang disarankan; Short adalah kunci 15 karakter, untuk klien yang tidak mampu menangani password panjang.
  5. Tetapkan masa berlaku antara 7 hari dan 1 tahun, atau pilih tanpa kedaluwarsa.
  6. Klik Generate, lalu segera salin kunci lengkapnya.

Kunci lengkap hanya ditampilkan satu kali, setelah itu halaman hanya menampilkan beberapa digit terakhirnya. Jika Anda kehilangannya, buat penggantinya dan perbarui konfigurasi Anda.

Pengaturan koneksi

Nilai yang perlu Anda masukkan di klien atau pustaka mana pun:

PengaturanNilai
Server SMTPsmtp-relay.brevo.com
Port587, 465, atau 2525
EnkripsiBiarkan kosong kecuali memakai port 465, yang memerlukan SSL atau TLS
UsernameSMTP login Anda, format [email protected]
PasswordKunci SMTP Anda

Memilih port

PortEnkripsiKapan dipakai
587TLS, dinegosiasikan dengan STARTTLSDefault. Mulai dari sini.
465SSL atau TLS, implisit sejak koneksiKetika klien Anda memerlukan koneksi terenkripsi secara implisit
2525TLS, dinegosiasikan dengan STARTTLSKetika penyedia hosting Anda memblokir 587

Brevo menyarankan 587 sebagai default. Port 465 dulu ditetapkan untuk SMTP over SSL dan kemudian tidak lagi direkomendasikan, tetapi tetap didukung luas dan tepat dipakai bila Anda butuh koneksi terenkripsi sebelum perintah pertama. Port 2525 bukan port terdaftar di IETF atau IANA, tetapi sebagian besar ISP dan penyedia cloud mengizinkannya, sehingga menjadi jalan keluar ketika 587 diblokir.

Kolom enkripsi sering membingungkan orang. Brevo meminta Anda membiarkannya kosong kecuali Anda memakai 465. Itu tidak berarti koneksinya tidak terenkripsi: pada 587 dan 2525 server mengiklankan STARTTLS dan klien mana pun yang layak akan meningkatkan koneksi sebelum melakukan autentikasi. Artinya, Anda sebaiknya tidak memilih “SSL” saat terhubung ke 587, karena ketidakcocokan port dan enkripsi menggagalkan autentikasi bahkan dengan kredensial yang benar.

Uji koneksi sebelum menulis kode apa pun

Pastikan relay menjawab dan TLS ternegosiasi sebelum Anda men-debug kode aplikasi.

Terminal window
openssl s_client -starttls smtp -crlf -connect smtp-relay.brevo.com:587

Handshake yang berhasil berakhir dengan daftar kapabilitas 250 dari server, yang seharusnya mencakup STARTTLS dan baris AUTH yang mencantumkan PLAIN serta LOGIN. Tidak adanya banner sama sekali berarti masalah jaringan, bukan masalah kredensial.

Mengautentikasi domain pengirim Anda

Ini langkah yang sering dilewati orang, dan langkah inilah yang menentukan apakah email Anda sampai. Sejak 1 Februari 2024 autentikasi domain menjadi wajib di bawah persyaratan pengirim Gmail dan Yahoo, dan Brevo mencatat Microsoft mengumumkan standar serupa pada 5 Mei 2025. Email yang tidak terautentikasi akan disaring atau ditolak, apa pun relay yang mengirimnya.

Record yang diminta Brevo

RecordTipeTujuan
Brevo codeTXTMemverifikasi bahwa Anda memiliki dan mengendalikan domain pengirim
DKIM1 TXT atau 2 CNAMEMenandatangani pesan agar penerima dapat mendeteksi perubahan saat pengiriman
DMARCTXTMemberi tahu server penerima cara menangani email mencurigakan, dengan kebijakan none, quarantine, atau reject

Brevo dapat menambahkan record ini secara otomatis jika Anda masuk ke penyedia domain Anda dari dalam Brevo, atau Anda bisa menyalin nilainya ke zona DNS secara manual. Bentuk DKIM yang Anda peroleh bergantung pada akun: dua record CNAME memakai kunci 2048 bit secara default, sedangkan bentuk TXT tunggal memakai kunci 1024 bit.

Mengapa tidak ada record SPF

FAQ Brevo menyatakannya secara eksplisit: record SPF dan MX tidak diperlukan untuk mengautentikasi sebuah domain, dan hanya diberikan ketika Anda menyiapkan IP khusus. Pada infrastruktur bersama, Brevo mengendalikan return path, sehingga DKIM ditambah pemeriksaan kepemilikan sudah menanggung autentikasinya. Jika Anda bermigrasi dari penyedia yang menuntut include SPF, jangan mengarang satu; include yang tidak perlu hanya berisiko menimbulkan masalah batas lookup.

DMARC tetap penting, dan Brevo memublikasikan record awal yang berfungsi:

v=DMARC1; p=none; rua=mailto:[email protected]

Mulai dengan p=none untuk mendapatkan laporan agregat tanpa mempertaruhkan pengiriman, lalu perketat ke quarantine dan reject setelah setiap sumber sah selaras. Panduan deliverability email kami membahas urutan tersebut.

Verifikasi pengirim

Setiap alamat From harus berupa pengirim terverifikasi atau berada pada domain yang terautentikasi. Pengirim baru diverifikasi dengan kode 6 digit yang dikirim ke alamat tersebut, tetapi pengirim pada domain yang sudah terautentikasi melewati langkah itu, dan itulah sebabnya Anda mengautentikasi domain lebih dulu. Domain email gratis tidak bisa diautentikasi, sehingga alamat From di gmail.com atau outlook.com akan ditolak atau disaring.

Panduan integrasi langkah demi langkah

WordPress

WordPress menyerahkan email keluar ke wp_mail, yang memanggil apa pun yang disediakan hosting. Mengarahkannya melalui Brevo membutuhkan sebuah plugin.

  1. Di sidebar admin, buka Plugins, lalu Add New Plugin.
  2. Cari Brevo, pasang “Newsletter, SMTP, Email marketing and Subscribe forms by Brevo”, lalu aktifkan.
  3. Buka Brevo, lalu Home, dan masukkan Brevo API key v3 Anda di kolom aktivasi. Langkah ini memakai API key karena plugin juga menyinkronkan kontak. Klik Login.
  4. Di bagian Transactional emails, pilih Yes.
  5. Pilih pengirim yang sudah ada atau buat baru. Setiap email WordPress memakai nama dan alamat pengirim tersebut.
  6. Masukkan sebuah alamat dan klik Send email untuk memicu pengujian.

Dua error yang umum terjadi. Pesan bahwa email transaksional tidak aktif karena akun Brevo SMTP Anda belum diaktifkan berarti tim dukungan Brevo harus mengaktifkan platformnya. Pesan bahwa SMTP tidak bisa dipakai karena wp_mail telah dideklarasikan oleh proses lain berarti ada plugin SMTP yang bersaing; nonaktifkan plugin lain satu per satu.

Aplikasi sisi server

Contoh Node.js dari Brevo sendiri memakai nodemailer dan pengaturan di atas:

const nodemailer = require("nodemailer");
const transporter = nodemailer.createTransport({
host: "smtp-relay.brevo.com",
port: 587,
secure: false, // true untuk 465, false untuk port lainnya
auth: {
user: process.env.BREVO_SMTP_LOGIN, // [email protected]
pass: process.env.BREVO_SMTP_KEY,
},
});
async function sendOrderConfirmation() {
const info = await transporter.sendMail({
from: '"Acme Support" <[email protected]>',
subject: "Your order is confirmed",
text: "Order 10482 is confirmed and ships within two business days.",
});
console.log("Message sent:", info.messageId);
}
sendOrderConfirmation().catch(console.error);

Perhatikan secure: false pada port 587. Flag itu mengendalikan TLS implisit, bukan apakah koneksinya terenkripsi; nodemailer tetap mengeluarkan STARTTLS. Setel true hanya untuk 465.

Padanan Python dengan pustaka standar:

import smtplib, ssl
from email.message import EmailMessage
msg = EmailMessage()
msg["From"] = "Acme Support <[email protected]>"
msg["To"] = "[email protected]"
msg["Subject"] = "Your order is confirmed"
msg.set_content("Order 10482 is confirmed and ships within two business days.")
with smtplib.SMTP("smtp-relay.brevo.com", 587, timeout=20) as server:
server.starttls(context=ssl.create_default_context())
server.login(BREVO_SMTP_LOGIN, BREVO_SMTP_KEY)
server.send_message(msg)

Keduanya membaca kredensial dari environment, dan itulah topik bagian berikutnya.

Keamanan dan rotasi kunci

Brevo memperlakukan kunci SMTP sebagai password. Aturan operasionalnya layak diikuti secara harfiah.

  • Satu kunci per integrasi. Beri nama setiap kunci sesuai sistem yang memakainya, sehingga kebocoran atau penonaktifan mencabut tepat satu hal.
  • Jangan pernah melakukan commit terhadap sebuah kunci. Gunakan variabel environment, secrets manager, atau penyimpanan konfigurasi platform Anda. Bukan version control, bukan berkas .env yang dilacak, bukan tangkapan layar.
  • Rotasi tanpa downtime. Buat penggantinya, deploy, pastikan pengiriman berjalan, lalu hapus kunci lama. Penghapusan tidak bisa dibatalkan, dan menghapus kunci yang masih dipakai langsung menghentikan pengiriman transaksional.
  • Nonaktifkan alih-alih menghapus untuk menjeda sebuah integrasi. Kunci dapat diaktifkan kembali nanti.
  • Antisipasi masa kedaluwarsa. Kunci dapat membawa masa berlaku 7 hari sampai 1 tahun, dan Brevo mengedaluwarsakan kunci yang tidak aktif setelah 90 hari.

Untuk batas yang lebih keras, Brevo dapat memblokir permintaan dari alamat IP yang tidak dikenal. Daftar yang diotorisasi digunakan bersama oleh kunci API dan SMTP, sehingga apa pun yang Anda izinkan berlaku untuk keduanya. Hati-hati pada beban kerja terkontainer atau cloud: alamat keluarnya bisa jadi NAT gateway, bukan IP instance yang Anda kira, dan salah menetapkannya menghasilkan penolakan 525 5.7.1 Unauthorized IP address.

Tim yang menjalankan Brevo berdampingan dengan toko online, CRM, dan meja dukungan akhirnya mengelola beberapa kunci, pengirim, dan domain sekaligus. Tajo menyimpan konfigurasi itu di satu tempat, bukan di empat dasbor.

Batas pengiriman dan throttling

Pengiriman SMTP menarik kredit email pada paket Anda. Pada paket Free itu berarti 300 pengiriman email per hari; batasnya diatur ulang setiap hari dan pengiriman yang tidak terpakai tidak berakumulasi. Begitu Anda mencapainya, Brevo menahan hingga 1.000 email berikutnya dalam antrean percobaan ulang dan tidak mengirimkan apa pun di luar antrean itu. Paket berbayar menghapus batas harian, dan panduan harga Brevo menguraikan tingkatannya.

Ketika kredit benar-benar habis, pesan yang dikirim lewat SMTP dijeda dan diantrekan, bukan dibuang. Tumpukan antreannya ada di Transactional, lalu Real time, lalu Usage and plan, di bagian Email queue.

Brevo memublikasikan rate limit tegas untuk REST API, bukan untuk relay. Pada tingkat umum, POST /v3/smtp/email mengizinkan 1.000 permintaan per detik, dan melampaui batas menghasilkan 429 Too Many Requests. Jalur API juga mengembalikan header rate limit untuk mengatur ritme, yang tidak dilakukan relay.

Memantau bounce dan keluhan

Email yang direlay terlihat di bagian Transactional, pada halaman Statistics dan Logs. Event yang perlu ditanggapi:

  • Hard bounce. Alamatnya tidak valid, dan Brevo otomatis mem-blocklist kontak tersebut.
  • Blocked. Penerima sebelumnya pernah mengeluh, berhenti berlangganan, mengalami hard bounce, atau diblokir secara manual.
  • Deferred dan soft bounce. Penyedia menerima koneksi tetapi menunda atau menolak pesannya. Penundaan berulang terhadap satu penyedia menandakan masalah reputasi, bukan masalah kode.

Melakukan polling terhadap log tidak akan terskala. Brevo mendukung webhook transaksional yang mendorong event pengiriman, bounce, pembukaan, dan keluhan ke endpoint Anda secara real-time, dan begitulah cara Anda menjaga data suppression Anda sendiri tetap mutakhir.

Angka yang perlu diperhatikan adalah rasio keluhan spam. Gmail, Yahoo, dan Microsoft mengharuskan pengirim tetap di bawah 0,3%, dan Brevo menyarankan memantaunya dengan Gmail Postmaster Tools. Pemulihan setelah terlampaui jauh lebih lama daripada mencegahnya.

Pemecahan masalah

535 5.7.8 Authentication failed

Username atau password tidak dapat diverifikasi. Berdasarkan kemungkinannya:

  • Alamat email akun dipakai alih-alih SMTP login dengan format [email protected].
  • smtp-relay.brevo.com ditempelkan ke kolom username. Brevo menyebut ini sebagai salah satu penyebab paling umum.
  • API key dipakai alih-alih kunci SMTP.
  • Kunci membawa spasi atau jeda baris di ujungnya akibat salin tempel.
  • Pengaturan enkripsi tidak cocok dengan port.
  • Kunci dibatalkan setelah peringatan keamanan, dan dalam hal ini buatlah kunci baru.

525 5.7.1 Unauthorized IP address

Pemblokiran IP sedang aktif dan alamat yang terhubung tidak diotorisasi. Tambahkan alamat tersebut, dan periksa dulu alamat egress Anda yang sebenarnya jika aplikasi berjalan di belakang NAT atau di platform kontainer.

Tidak ada respons dan tidak ada banner

Jika koneksi TCP terbuka tetapi server tidak pernah mengirim salam 220, autentikasi tidak dapat dimulai dan masalahnya ada di sisi jaringan Anda. Firewall perusahaan kadang mengizinkan koneksi lalu diam-diam membuang lalu lintas SMTP. AWS, Azure, dan Google Cloud membatasi SMTP keluar secara default pada akun baru. Ajukan permintaan agar pembatasan itu dicabut, atau beralih ke port 2525.

450, platform tidak aktif

Error menyebutkan akun SMTP Anda belum diaktifkan atau platform pengiriman Anda sedang dinonaktifkan. Pada akun baru, pengiriman transaksional memerlukan langkah aktivasi terpisah dari tim dukungan Brevo. Pada akun yang sudah mapan, biasanya ini berarti penangguhan, entah karena formulir tanpa proteksi diserbu pendaftaran bot atau karena akun menunjukkan tanda-tanda pembobolan.

Pengirim ditolak

Periksa tiga hal: domainnya terautentikasi, pengirimnya terverifikasi, dan header From bukan SMTP login Anda.

Email diterima tetapi masuk ke spam

Kerjakan dengan urutan ini. Pastikan domain pengirim terautentikasi dan DKIM menandatangani. Pastikan domain From adalah domain Anda sendiri, bukan penyedia email gratis. Periksa rasio keluhan Anda di Postmaster Tools terhadap ambang 0,3%. Baru periksa konten setelah semua pemeriksaan itu bersih, karena konten hampir tidak pernah menjadi penyebab pertama.

IP khusus

IP khusus hanya membantu pada volume yang tinggi dan konsisten. IP itu harus di-warm up sebelum Anda mengirim dalam jumlah berarti, dan memerlukan subdomain pengirim yang muncul sebagai domain mailed by dan return path di header Anda. Inilah satu-satunya konfigurasi yang membuat Brevo menyediakan record SPF dan MX, bersama record A, CNAME, DKIM, dan DMARC untuk subdomain tersebut.

Dua detail sering menjebak orang. IP khusus yang dikonfigurasi hanya untuk email pemasaran akan mengantrekan pesan transaksional Anda alih-alih mengirimnya, jadi ubah konfigurasinya atau beli IP kedua. Dan memisahkan perutean transaksional dari pemasaran memerlukan kumpulan minimal dua IP dengan pengirim yang berbeda, agar engagement lemah pada email pemasaran tidak menyeret turun tanda terima dan reset password.

Melakukannya dengan benar sejak awal

Autentikasi domainnya, buat kunci SMTP bernama, hubungkan ke smtp-relay.brevo.com pada 587, dan kirim pengujian melalui jalur kode yang sesungguhnya, bukan lewat tombol di dasbor. Hampir setiap masalah di kemudian hari berakar pada salah satu dari tiga hal.

  • Kredensial yang salah di kolom username atau password.
  • Pengaturan port dan enkripsi yang saling bertentangan.
  • Domain pengirim yang tidak pernah diautentikasi.

Benahi ketiganya dan relay akan menghilang ke latar belakang, dan begitulah seharusnya infrastruktur transaksional bekerja.

Pertanyaan yang sering diajukan

Apa alamat server SMTP Brevo?
Servernya adalah smtp-relay.brevo.com. Gunakan alamat itu dengan SMTP login Anda sebagai username dan kunci SMTP sebagai password. Jangan menaruh smtp-relay.brevo.com di kolom username.
Port SMTP Brevo mana yang sebaiknya saya pakai?
Gunakan port 587 secara default, yang menegosiasikan TLS dengan STARTTLS. Gunakan port 465 jika klien Anda memerlukan SSL atau TLS implisit. Gunakan port 2525 hanya ketika hosting Anda memblokir 587.
Apakah SMTP login Brevo saya sama dengan email akun saya?
Tidak. SMTP login Anda adalah identifier teknis terpisah dengan format [email protected], ditampilkan pada kolom Login di halaman Settings, SMTP and API.
Apa beda kunci SMTP Brevo dengan API key?
Kunci SMTP mengautentikasi koneksi SMTP relay dan dipakai sebagai password. API key mengautentikasi panggilan REST API. Keduanya tidak bisa dipertukarkan, dan memakai API key lewat SMTP akan gagal.
Mengapa saya mendapat error 535 5.7.8 Authentication failed?
Hampir selalu masalah kredensial: email akun dipakai alih-alih SMTP login, API key dipakai alih-alih kunci SMTP, ada spasi atau jeda baris nyasar di dalam kunci, atau enkripsi yang tidak cocok dengan portnya.
Apakah saya butuh record SPF untuk mengirim lewat Brevo SMTP?
Tidak untuk pengiriman bersama. Brevo mengautentikasi sebuah domain dengan record TXT Brevo code, DKIM, dan DMARC. Record SPF dan MX hanya diberikan ketika Anda menyiapkan IP khusus.
Berapa banyak email yang bisa saya kirim lewat Brevo SMTP?
Pengiriman dibatasi kredit email pada paket Anda. Paket Free mengizinkan 300 pengiriman email per hari tanpa akumulasi sisa, dan hingga 1.000 email berikutnya ditahan dalam antrean percobaan ulang.
Mengapa email Brevo SMTP saya masuk ke spam?
Penyebab yang biasa adalah domain pengirim yang tidak terautentikasi, alamat gratis seperti gmail.com pada kolom From, atau rasio keluhan spam di atas ambang 0,3% yang ditegakkan Gmail, Yahoo, dan Microsoft.
Bisakah saya mengirim batch lewat SMTP relay Brevo?
Tidak. Brevo menyatakan SMTP relay tidak mendukung pengiriman batch. Gunakan endpoint batch pada API email transaksional untuk keperluan tersebut.

Ajukan akses awal

Masukkan nama depan serta email atau nomor telepon Anda. Kami akan menghubungi Anda dengan detail akses Tajo.

deteksi otomatis
Dapatkan Brevo