Brevo SMTP: Kurulum, Ayarlar ve Sorun Giderme Kılavuzu
Brevo SMTP'yi doğru yapılandırın: sunucu adresi, 587, 465 ve 2525 portları, SMTP anahtarları, alan adı doğrulama, WordPress ve kod örnekleri, limitler ve hata çözümleri.
Brevo SMTP, bir uygulamanın giden postasını web barındırıcısının yerel posta ajanından alıp her mesajı doğrulayan, kaydeden ve raporlayan bir altyapıya taşır. Kurulum küçüktür: tek bir sunucu adı, tek bir port, iki kimlik bilgisi. Yanlış yapmak da küçüktür ve hata biçimleri sessizdir. Bu kılavuz ayarları, kimlik bilgisi modelini, teslimatı mümkün kılan DNS işlerini ve herhangi bir parça yanlış yapılandırıldığında karşılaşacağınız hataları kapsıyor. Hâlâ sağlayıcı seçiyorsanız, daha geniş kapsamlı SMTP e-posta hizmeti kılavuzu önce pazarı karşılaştırıyor.
Brevo SMTP nedir
Brevo, Brevo SMTP’yi kendi SMTP röle hizmeti olarak tanımlar. Uygulamanız, web siteniz veya posta sunucunuz bir mesajı kimliği doğrulanmış bir bağlantı üzerinden röleye teslim eder ve Brevo yönlendirme, yeniden deneme, itibar ve raporlama sorumluluğunu üstlenir. Röleyle giden postanın istatistikleri kampanya istatistiklerinin yanında görünür ve kalıcı bir sekme o kişiyi otomatik olarak engelleme listesine alır.
Röle işlemsel mesajlar için tasarlanmıştır: parola sıfırlama, makbuz, sipariş onayı, hesap bildirimleri. Bunlarla pazarlama postası arasındaki çizgi henüz netleşmediyse, işlemsel e-postanın ne olduğu konuyu ele alıyor.
SMTP mi REST API mi
Her iki yol da aynı platforma ulaşır. Pratik ayrım şudur:
| SMTP’yi şu durumda kullanın | REST API’yi şu durumda kullanın |
|---|---|
| Sistem yalnızca SMTP konuşuyorsa (WordPress, Postfix, bir ERP, bir posta istemcisi) | Entegrasyonu siz yazıyorsanız ve yapılandırılmış hatalar istiyorsanız |
| Mevcut bir SMTP yapılandırmasını taşıyorsanız ve en kısa değişikliği istiyorsanız | Toplu gönderim, zamanlama veya idempotency anahtarlarına ihtiyacınız varsa |
Kesin bir limit: Brevo’nun geliştirici dokümantasyonu SMTP rölesinin toplu gönderimi desteklemediğini belirtir ve toplu işlemleri API uç noktalarına yönlendirir.
SMTP kimlik bilgilerinizi oluşturma
Brevo’nun SMTP kimlik doğrulaması, hâlihazırda sahip olduğunuz kimlik bilgileriyle karıştırılması kolay iki değer kullanır.
SMTP oturum bilginizi bulun
SMTP oturum bilginiz Brevo hesap e-posta adresiniz değildir. Settings, SMTP and API sayfasındaki Login alanında [email protected] biçiminde gösterilen ayrı bir tanımlayıcıdır.
Bundan iki kural çıkar, ikisi de Brevo’nun sorun giderme dokümantasyonundan. smtp-relay.brevo.com adresini kullanıcı adı alanına yazmayın: o, oturum bilginiz değil röle sunucusudur. Ve SMTP oturum bilginizi From başlığına koymayın, çünkü o bir göndericiyi tanımlamaz, sizin kimliğinizi doğrular.
Bir SMTP anahtarı üretin
Parola bir SMTP anahtarıdır, hesap parolanız ya da bir API anahtarı değil.
- Hesap açılır menüsünü açın ve Settings, ardından SMTP and API seçeneğini seçin.
- SMTP sekmesinin altında Generate a new SMTP key seçeneğine tıklayın.
- Anahtarı, onu kullanacak entegrasyonun adıyla adlandırın.
- Türü seçin. Standard, önerilen 64 karakterlik anahtardır; Short ise uzun parolaları işleyemeyen istemciler için 15 karakterlik bir anahtardır.
- 7 gün ile 1 yıl arasında bir son kullanma süresi belirleyin ya da süresiz seçeneğini seçin.
- Generate seçeneğine tıklayın, sonra anahtarın tamamını hemen kopyalayın.
Anahtarın tamamı bir kez gösterilir, sonrasında sayfa yalnızca son birkaç hanesini gösterir. Kaybederseniz yenisini üretin ve yapılandırmanızı güncelleyin.
Bağlantı ayarları
Herhangi bir istemciye veya kütüphaneye girilecek değerler:
| Ayar | Değer |
|---|---|
| SMTP sunucusu | smtp-relay.brevo.com |
| Port | 587, 465 veya 2525 |
| Şifreleme | 465 portunu kullanmıyorsanız boş bırakın; 465 SSL veya TLS gerektirir |
| Kullanıcı adı | SMTP oturum bilginiz, [email protected] biçiminde |
| Parola | SMTP anahtarınız |
Port seçimi
| Port | Şifreleme | Ne zaman kullanılır |
|---|---|---|
| 587 | TLS, STARTTLS ile pazarlıklı | Varsayılan. Buradan başlayın. |
| 465 | SSL veya TLS, bağlantı anından itibaren örtük | İstemciniz örtük şifreli bir bağlantı gerektirdiğinde |
| 2525 | TLS, STARTTLS ile pazarlıklı | Barındırma sağlayıcınız 587’yi engellediğinde |
Brevo varsayılan olarak 587 portunu önerir. 465 portu SSL üzerinden SMTP için ayrılmış ve sonradan kullanımdan kaldırılmıştır ama hâlâ geniş çapta desteklenir ve bağlantının ilk komuttan önce şifrelenmesi gerektiğinde doğru seçimdir. 2525 portu IETF veya IANA kayıtlı bir port değildir ama ISS’lerin ve bulut sağlayıcılarının çoğu buna izin verir, bu da 587 engellendiğinde onu kaçış kapısı yapar.
Şifreleme alanı insanların ayağını kaydırır. Brevo, 465 üzerinde değilseniz bu alanı boş bırakmanızı söyler. Bu, bağlantının şifresiz olduğu anlamına gelmez: 587 ve 2525 üzerinde sunucu STARTTLS duyurur ve yetkin her istemci kimlik doğrulamadan önce yükseltme yapar. Anlamı şudur: 587’ye bağlanırken “SSL” seçeneğini işaretlememelisiniz, çünkü port ile şifreleme uyuşmazlığı, kimlik bilgileri doğru olsa bile kimlik doğrulamayı başarısız kılar.
Kod yazmadan önce bağlantıyı test edin
Uygulama kodunu ayıklamaya başlamadan önce rölenin yanıt verdiğini ve TLS pazarlığının yapıldığını teyit edin.
openssl s_client -starttls smtp -crlf -connect smtp-relay.brevo.com:587Başarılı bir el sıkışma, sunucunun 250 yetenek listesiyle biter; bu liste STARTTLS ve PLAIN ile LOGIN içeren bir AUTH satırı barındırmalıdır. Hiç karşılama mesajı gelmemesi bir kimlik bilgisi sorunu değil, bir ağ sorunudur.
Gönderim alan adınızın kimliğini doğrulama
Bu, insanların atladığı ve her şeyin ulaşıp ulaşmayacağına karar veren adımdır. 1 Şubat 2024’ten bu yana alan adı kimlik doğrulaması Gmail ve Yahoo’nun gönderici gereksinimleri kapsamında zorunludur ve Brevo, Microsoft’un 5 Mayıs 2025’te benzer standartlar duyurduğunu belirtir. Kimliği doğrulanmamış posta, hangi röleyle gönderildiğine bakılmaksızın filtrelenir veya reddedilir.
Brevo’nun istediği kayıtlar
| Kayıt | Tür | Amaç |
|---|---|---|
| Brevo kodu | TXT | Gönderim alan adının sahibi ve denetleyicisi olduğunuzu doğrular |
| DKIM | 1 TXT veya 2 CNAME | Alıcıların aktarım sırasındaki değişiklikleri fark edebilmesi için mesajları imzalar |
| DMARC | TXT | Alıcı sunuculara şüpheli postayı nasıl işleyeceklerini söyler; none, quarantine veya reject politikası kullanır |
Brevo içinden alan adı sağlayıcınıza giriş yaparsanız Brevo bu kayıtları otomatik ekleyebilir, ya da değerleri DNS bölgenize elle kopyalayabilirsiniz. Hangi DKIM biçimini alacağınız hesaba bağlıdır: iki CNAME kaydı varsayılan olarak 2048 bitlik bir anahtar, tekil TXT biçimi ise 1024 bitlik bir anahtar kullanır.
Neden SPF kaydı yok
Brevo’nun SSS sayfası açıktır: bir alan adının kimliğini doğrulamak için SPF ve MX kayıtları gerekmez ve bunlar yalnızca özel bir IP kurulurken sağlanır. Paylaşılan altyapıda dönüş yolunu Brevo denetler, dolayısıyla kimlik doğrulamayı DKIM ile sahiplik kontrolü taşır. SPF include isteyen bir sağlayıcıdan taşınıyorsanız kendinizden bir tane uydurmayın; gereksiz bir include yalnızca arama limiti sorunu riski yaratır.
DMARC yine de önemlidir ve Brevo çalışan bir başlangıç kaydı yayımlar:
v=DMARC1; p=none; rua=mailto:[email protected]Teslimatı riske atmadan toplu raporlar almak için p=none ile başlayın, sonra her meşru kaynak hizalandığında quarantine ve reject seviyesine sıkılaştırın. E-posta teslim edilebilirlik kılavuzumuz bu ilerleyişi anlatıyor.
Göndericiyi doğrulayın
Her From adresi doğrulanmış bir gönderici olmalı ya da kimliği doğrulanmış bir alan adında bulunmalıdır. Yeni bir gönderici, o adrese gönderilen 6 haneli bir kodla doğrulanır, ancak kimliği doğrulanmış bir alan adındaki göndericiler bu adımı atlar; alan adını önce doğrulamanızın nedeni budur. Ücretsiz posta alan adlarının kimliği doğrulanamaz, dolayısıyla gmail.com veya outlook.com adresindeki bir From adresi reddedilir veya filtrelenir.
Entegrasyon adımları
WordPress
WordPress giden postayı wp_mail fonksiyonuna teslim eder ve bu da barındırıcının sunduğu her neyse onu çağırır. Bunu Brevo üzerinden yönlendirmek bir eklenti gerektirir.
- Yönetim kenar çubuğunda Plugins, ardından Add New Plugin bölümüne gidin.
- Brevo araması yapın, “Newsletter, SMTP, Email marketing and Subscribe forms by Brevo” eklentisini kurun ve etkinleştirin.
- Brevo, ardından Home bölümüne gidin ve etkinleştirme alanına Brevo API anahtarı v3 değerinizi girin. Bu adım bir API anahtarı kullanır çünkü eklenti aynı zamanda kişileri senkronize eder. Login seçeneğine tıklayın.
- Transactional emails altında Yes seçeneğini seçin.
- Mevcut bir gönderici seçin ya da yeni bir tane oluşturun. Her WordPress e-postası o gönderici adını ve adresini kullanır.
- Bir adres girin ve test göndermek için Send email seçeneğine tıklayın.
İki hata yaygındır. Brevo SMTP hesabınız etkinleştirilmediği için işlemsel e-postaların etkin olmadığını söyleyen bir mesaj, platformu Brevo desteğinin açması gerektiği anlamına gelir. wp_mail fonksiyonunun başka bir süreç tarafından tanımlandığı için SMTP’nin kullanılamayacağını söyleyen bir mesaj ise rakip bir SMTP eklentisi olduğunu gösterir; diğerlerini teker teker devre dışı bırakın.
Sunucu tarafı bir uygulama
Brevo’nun kendi Node.js örneği nodemailer ile yukarıdaki ayarları kullanır:
const nodemailer = require("nodemailer");
const transporter = nodemailer.createTransport({ host: "smtp-relay.brevo.com", port: 587, secure: false, // 465 için true, diğer portlar için false auth: { pass: process.env.BREVO_SMTP_KEY, },});
async function sendOrderConfirmation() { const info = await transporter.sendMail({ subject: "Siparişiniz onaylandı", text: "10482 numaralı sipariş onaylandı ve iki iş günü içinde kargolanır.", }); console.log("Message sent:", info.messageId);}
sendOrderConfirmation().catch(console.error);587 portunda secure: false ayarına dikkat edin. Bu bayrak, bağlantının şifreli olup olmadığını değil örtük TLS’i denetler; nodemailer yine de STARTTLS gönderir. Yalnızca 465 için true yapın.
Standart kütüphaneyle Python karşılığı:
import smtplib, sslfrom email.message import EmailMessage
msg = EmailMessage()msg["Subject"] = "Siparişiniz onaylandı"msg.set_content("10482 numaralı sipariş onaylandı ve iki iş günü içinde kargolanır.")
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)İkisi de kimlik bilgilerini ortam değişkenlerinden okur, ki bir sonraki bölüm de budur.
Anahtar güvenliği ve döndürme
Brevo, SMTP anahtarlarını parola olarak görür. Operasyonel kuralları harfi harfine izlemeye değer.
- Entegrasyon başına bir anahtar. Her anahtarı onu kullanan sistemin adıyla adlandırın, böylece bir sızıntı veya bir kapatma tam olarak tek bir şeyi iptal eder.
- Anahtarı asla depoya işlemeyin. Ortam değişkenleri, bir sır yöneticisi veya platformunuzun yapılandırma deposu kullanın. Sürüm kontrolü değil, izlenen bir
.envdosyası değil, ekran görüntüsü hiç değil. - Kesintisiz döndürün. Yenisini üretin, dağıtın, gönderimi teyit edin, sonra eski anahtarı silin. Silme geri alınamaz ve hâlâ kullanımdaki bir anahtarı silmek işlemsel gönderimi anında durdurur.
- Bir entegrasyonu duraklatmak için silmek yerine devre dışı bırakın. Anahtarlar daha sonra yeniden etkinleştirilebilir.
- Süre dolmasını bekleyin. Anahtarlar 7 gün ile 1 yıl arasında bir son kullanma süresi taşıyabilir ve Brevo, hareketsiz anahtarları 90 gün sonra sonlandırır.
Daha sert bir sınır için Brevo, bilinmeyen IP adreslerinden gelen istekleri engelleyebilir. Yetkili liste API ve SMTP anahtarları arasında paylaşılır, dolayısıyla izin verdiğiniz her şey ikisi için de geçerlidir. Konteynerli veya bulut iş yüklerinde dikkatli olun: giden adres, beklediğiniz örnek IP’si yerine bir NAT ağ geçidi olabilir ve bunu yanlış yapmak 525 5.7.1 Unauthorized IP address reddine yol açar.
Brevo’yu bir mağaza, bir CRM ve bir destek masasıyla birlikte çalıştıran ekipler sonunda aynı anda birkaç anahtarı, göndericiyi ve alan adını yönetir hâle gelir. Tajo bu yapılandırmayı dört ayrı yönetim paneli yerine tek bir yerde tutar.
Gönderim limitleri ve kısıtlama
SMTP gönderimi planınızın e-posta kredilerinden düşer. Ücretsiz planda bu günde 300 e-posta gönderimi demektir; limit günlük olarak sıfırlanır ve kullanılmayan gönderimler devretmez. Limite ulaştığınızda Brevo 1.000’e kadar ek e-postayı bir yeniden deneme kuyruğunda tutar ve o kuyruğun ötesinde hiçbir şey teslim etmez. Ücretli planlar günlük üst sınırı kaldırır ve Brevo fiyatlandırma kılavuzu katmanları ayrıntılandırıyor.
Krediler tamamen bittiğinde, SMTP üzerinden gönderilen mesajlar düşürülmez, duraklatılır ve kuyruğa alınır. Biriken yığın Transactional, ardından Real time, ardından Usage and plan bölümünde, Email queue kısmında durur.
Brevo, röle için değil REST API için kesin hız limitleri yayımlar. Genel katmanda POST /v3/smtp/email saniyede 1.000 isteğe izin verir ve limiti aşmak 429 Too Many Requests döndürür. API yolu ayrıca temponuzu ayarlayabileceğiniz hız limiti başlıkları döndürür, röle bunu yapmaz.
Sekmeleri ve şikâyetleri izleme
Röleyle giden posta, Transactional altındaki Statistics ve Logs sayfalarında görünür. Tepki gerektiren olaylar şunlardır:
- Kalıcı sekme. Adres geçersizdir ve Brevo kişiyi otomatik olarak engelleme listesine alır.
- Engellendi. Alıcı daha önce şikâyet etmiş, abonelikten çıkmış, kalıcı olarak sekmiş ya da elle engellenmiştir.
- Ertelendi ve geçici sekme. Sağlayıcı bağlantıyı kabul etti ama mesajı geciktirdi veya reddetti. Tek bir sağlayıcıya karşı tekrar eden ertelemeler bir kod sorununu değil bir itibar sorununu işaret eder.
Kayıtları yoklamak ölçeklenmez. Brevo, teslimat, sekme, açılma ve şikâyet olaylarını gerçek zamanlı olarak uç noktanıza gönderen işlemsel webhook’ları destekler; kendi bastırma verinizi güncel tutmanın yolu budur.
İzlenmesi gereken sayı spam şikâyet oranıdır. Gmail, Yahoo ve Microsoft göndericilerin yüzde 0,3’ün altında kalmasını ister ve Brevo bunu Gmail Postmaster Tools ile izlemeyi önerir. Bir ihlalden çıkmak, ondan kaçınmaktan çok daha uzun sürer.
Sorun giderme
535 5.7.8 Authentication failed
Kullanıcı adı veya parola doğrulanamadı. Olasılık sırasıyla:
[email protected]biçimindeki SMTP oturum bilgisi yerine hesap e-posta adresi kullanıldı.- Kullanıcı adı alanına
smtp-relay.brevo.comyapıştırıldı. Brevo bunu en yaygın nedenlerden biri olarak sayıyor. - SMTP anahtarı yerine API anahtarı kullanıldı.
- Anahtar, kopyala yapıştırdan kalma sondaki bir boşluk veya satır sonu taşıyor.
- Şifreleme ayarı porta uymuyor.
- Bir güvenlik uyarısından sonra anahtar geçersiz kılındı; bu durumda yenisini üretin.
525 5.7.1 Unauthorized IP address
IP engelleme etkin ve bağlanan adres yetkili değil. Adresi ekleyin ve uygulama NAT arkasında ya da bir konteyner platformunda çalışıyorsa önce gerçek çıkış adresinizi kontrol edin.
Yanıt yok ve karşılama yok
TCP bağlantısı açılıyor ama sunucu hiç 220 karşılamasını göndermiyorsa kimlik doğrulama başlayamaz ve arıza ağın sizin tarafınızdadır. Kurumsal güvenlik duvarları bazen bağlantıya izin verip SMTP trafiğini sessizce düşürür. AWS, Azure ve Google Cloud yeni hesaplarda giden SMTP’yi varsayılan olarak kısıtlar. Kısıtlamanın kaldırılmasını talep edin ya da 2525 portuna geçin.
450, platform etkin değil
Hata, SMTP hesabınızın henüz etkinleştirilmediğini ya da gönderim platformunuzun şu anda devre dışı olduğunu söyler. Yeni bir hesapta işlemsel gönderim, Brevo desteğinden ayrı bir etkinleştirme adımı gerektirir. Yerleşik bir hesapta ise bu genellikle askıya alma anlamına gelir: ya korumasız bir form bot kayıtlarına maruz kalmıştır ya da hesap ele geçirilme belirtileri göstermiştir.
Gönderici reddedildi
Üç şeyi kontrol edin: alan adının kimliği doğrulanmış mı, gönderici doğrulanmış mı ve From başlığı SMTP oturum bilginiz değil mi.
Posta kabul ediliyor ama spam’e düşüyor
Şu sırayla çalışın. Gönderim alan adının kimliğinin doğrulandığını ve DKIM’in imzaladığını teyit edin. From alan adının ücretsiz bir posta sağlayıcısı değil kendi alan adınız olduğunu teyit edin. Postmaster Tools üzerinde şikâyet oranınızı yüzde 0,3 eşiğine karşı kontrol edin. İçeriğe ancak bu kontroller temiz çıktıktan sonra bakın, çünkü içerik neredeyse hiçbir zaman ilk neden değildir.
Özel IP’ler
Özel bir IP yalnızca yüksek ve istikrarlı hacimde işe yarar. Üzerinden anlamlı gönderim yapmadan önce ısıtılması gerekir ve başlıklarınızda mailed by ile return path alan adı olarak görünecek bir gönderim alt alan adına ihtiyaç duyar. Brevo’nun SPF ve MX kayıtlarını, o alt alan adı için A, CNAME, DKIM ve DMARC kayıtlarıyla birlikte sağladığı tek yapılandırma budur.
İki ayrıntı insanları yanıltır. Yalnızca pazarlama e-postası için yapılandırılmış özel bir IP, işlemsel mesajlarınızı göndermek yerine kuyruğa alır, dolayısıyla ya ayarı değiştirin ya da ikinci bir IP satın alın. Ve işlemsel yönlendirmeyi pazarlamadan ayırmak, farklı göndericilere sahip en az iki IP’lik bir havuz gerektirir, böylece pazarlama postasındaki zayıf etkileşim makbuzları ve parola sıfırlamalarını aşağı çekemez.
İlk seferde doğru yapmak
Alan adının kimliğini doğrulayın, adlandırılmış bir SMTP anahtarı oluşturun, 587 portundan smtp-relay.brevo.com adresine bağlanın ve testi bir panel düğmesi yerine gerçek kod yolundan gönderin. Sonraki hemen her sorunun izi üç şeyden birine çıkar.
- Kullanıcı adı veya parola alanındaki yanlış kimlik bilgisi.
- Birbiriyle uyuşmayan port ve şifreleme ayarı.
- Kimliği hiç doğrulanmamış bir gönderim alan adı.
Bunları doğru yapın, röle arka planda kaybolur; işlemsel altyapının yapması gereken de budur.