Geliştirici belgeleri
SMTP üzerinden e-posta gönder
Supabase Auth’tan WordPress’e ve framework posta aracına kadar SMTP kullanan her uygulamayı Banger’a yönlendir. Parola Banger API anahtarıdır; her ileti kendi alan adından teslim edilir ve Kayıtlar’da görünür.
Ayarlar
| Ana makine | submit.bangermail.com |
|---|---|
| Port | Başlangıçtan itibaren TLS ile 465 veya STARTTLS ile 587. Ağın bunları engelliyorsa 2465 (TLS) ya da 2587 (STARTTLS) kullan; 25 portu da STARTTLS kabul eder. |
| Kullanıcı adı | banger. Her değer çalışır: API anahtarı tek başına çalışma alanını tanımlar. |
| Parola | mail:send kapsamlı Banger API anahtarı. |
| Şifreleme | TLS 1.2 veya daha yenisi. Oturum açma yalnızca TLS başladıktan sonra sunulur; anahtar ağdan asla düz metinle geçmez. |
| Kimlik doğrulama | PLAIN veya LOGIN. |
Başlamadan önce
- API anahtarı oluştur. Banger uygulaması içinde Ayarlar → Geliştiriciler → API anahtarlarını yönet aç, API anahtarı oluştur seç,
mail:sendseç ve anahtarı kopyala: bir kez gösterilir. Sayfa bu SMTP ayarlarını anahtarlarının yanında gösterir. - Ürün kanalından gönder. From adresi etkin Ürün kanalı olan ana makine adında bulunmalıdır; bu kanal uygulamanın makbuz, uyarı ve diğer e-postaları içindir. Alan adları içinde Kanal ekle, ardından Ürün seç ve listelenen DNS kayıtlarını ekle. Mail kanalı (ekibinin posta kutuları) veya Kampanya kanalı uygulama e-postası taşımaz; bu yüzden uygulama postası ekibinin gelen kutusu itibarını etkileyemez.
Örnek: Supabase Auth
Supabase projende Authentication → Emails → SMTP Settings aç ve özel SMTP’yi etkinleştir:
| Gönderen e-postası | Ürün kanalındaki bir adres; örneğin noreply@app.example.com |
|---|---|
| Gönderen adı | Ürününün adı. Banger yazıldığı gibi teslim eder. |
| Ana makine | submit.bangermail.com |
| Port | 465 |
| Kullanıcı adı | banger |
| Parola | API anahtarın |
Kaydet, sonra ulaştığını kontrol etmek için Authentication → Users üzerinden magic link gönder.
Örnek: Node.js
import nodemailer from "nodemailer";
const transport = nodemailer.createTransport({
host: "submit.bangermail.com",
port: 465,
secure: true,
auth: { user: "banger", pass: process.env.BANGER_API_KEY },
});
await transport.sendMail({
from: "Acme <noreply@app.example.com>",
to: "person@example.com",
subject: "Your receipt",
html: "<p>Thanks for your order.</p>",
}); Terminalden swaks ile test etmek için:
swaks --server submit.bangermail.com:465 --tls-on-connect \
--auth PLAIN --auth-user banger --auth-password "$BANGER_API_KEY" \
--from noreply@app.example.com --to you@example.com Her iletiye ne olur
- Banger iletiyi uygulamanın yazdığı gibi, From adınla, alan adının DKIM anahtarıyla imzalı ve Ürün kanalının geri dönme alan adından gönderilmiş olarak teslim eder.
Bcc,Return-Pathve Banger’ın kendi üstbilgilerini kaldırır; yoksa From adresini belirtenReply-Toekler.- Her alıcı
RCPT TOaşamasında kontrol edilir: engellenmiş adres tek başına reddedilir, diğerlerine gönderilir. - İleti en fazla 10 MiB ve en fazla 50 alıcı olabilir.
Idempotency-Keyüstbilgisi yeniden denemeyi aynı gönderim yapar. Olmasa da aynı ileti ve alıcılara yeniden deneme tanınır.- Her ileti Kayıtlar içinde kaynak olarak SMTP ile görünür ve diğer gönderimler gibi planına sayılır.
Yanıtlar ve hatalar
Ret nedenini belirtir ve Kayıtlar’daki girdiyle eşleşen (ref …) referansını taşır. 4 ile başlayan kodlar geçicidir: uygulaman daha sonra yeniden deneyebilir.
| Yanıt | Anlam |
|---|---|
535 5.7.8 | Parola geçerli Banger API anahtarı değil, anahtar iptal edilmiş veya mail:send eksik. |
421 4.7.0 | Tek bağlantıda üç başarısız giriş: kapanır. Yeniden denemeden önce anahtarı kontrol et. |
454 4.7.0 | Son saatte ağından çok fazla başarısız giriş. Daha sonra yeniden dene. |
550 5.7.1 | From ana makine adında göndermeye hazır Ürün kanalı yok (yanıt eksiği belirtir), alıcı engellenmiş veya gönderim itibar nedeniyle duraklatılmış. |
553 5.1.3 | Alıcı adresi geçersiz. |
552 5.3.4 | İleti 10 MiB’den büyük. |
554 5.6.0 | İleti hatalı biçimlendirilmiş; örneğin yinelenen From veya Subject üstbilgisi ya da birden fazla adresli From. |
451 4.7.0 | Çalışma alanının gönderim kotası veya günlük sınırı tükendi. Sonraki fatura döneminde veya günde ya da plan yükseltmesiyle şimdi yenilenir. |
451 4.3.0 | Banger şu anda iletiyi alamadı. Yeniden dene. |
Güvenlik
- Banger her anahtarın yalnızca karmasını saklar. API anahtarlarını yönet içinde anahtarı iptal et veya yenile; kullanan SMTP istemcileri sonraki girişlerinde reddedilir.
- SMTP’ye yalnızca
mail:sendiçeren kendi anahtarını ver; böylece sızan parola çalışma alanını okuyamaz. - Başarısız girişler istemci ağına ve anahtara göre sınırlandırılır; anahtarlarından biriyle reddedilen giriş Kayıtlar’a yazılır.
HTTP mi tercih ediyorsun? Aynı gönderim Banger API üzerinden kullanılabilir.