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 makinesubmit.bangermail.com
PortBaş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.
Parolamail:send kapsamlı Banger API anahtarı.
ŞifrelemeTLS 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ğrulamaPLAIN veya LOGIN.

Başlamadan önce

  1. API anahtarı oluştur. Banger uygulaması içinde Ayarlar → Geliştiriciler → API anahtarlarını yönet aç, API anahtarı oluştur seç, mail:send seç ve anahtarı kopyala: bir kez gösterilir. Sayfa bu SMTP ayarlarını anahtarlarının yanında gösterir.
  2. Ü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 makinesubmit.bangermail.com
Port465
Kullanıcı adıbanger
ParolaAPI 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-Path ve Banger’ın kendi üstbilgilerini kaldırır; yoksa From adresini belirten Reply-To ekler.
  • Her alıcı RCPT TO aş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ıtAnlam
535 5.7.8Parola geçerli Banger API anahtarı değil, anahtar iptal edilmiş veya mail:send eksik.
421 4.7.0Tek bağlantıda üç başarısız giriş: kapanır. Yeniden denemeden önce anahtarı kontrol et.
454 4.7.0Son saatte ağından çok fazla başarısız giriş. Daha sonra yeniden dene.
550 5.7.1From 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.3Alı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.0Banger ş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:send iç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.