Utvecklardokumentation
Skicka e-post via SMTP
Rikta valfri SMTP-app till Banger, från Supabase Auth och WordPress till ditt ramverks mejlfunktion. En Banger API-nyckel är lösenordet, och varje meddelande levereras från din egen domän och visas i Loggar.
Inställningar
| Värd | submit.bangermail.com |
|---|---|
| Port | 465 med TLS från början, eller 587 med STARTTLS. Om nätverket blockerar dem, använd 2465 (TLS) eller 2587 (STARTTLS); port 25 stöder också STARTTLS. |
| Användarnamn | banger. Alla värden fungerar: API-nyckeln ensam identifierar din arbetsyta. |
| Lösenord | En Banger API-nyckel med omfånget mail:send. |
| Kryptering | TLS 1.2 eller senare. Inloggning erbjuds först när TLS startat, så en nyckel går aldrig över nätverket i klartext. |
| Autentisering | PLAIN eller LOGIN. |
Innan du börjar
- Skapa en API-nyckel. Öppna Inställningar → Utvecklare → Hantera API-nycklar i Banger-appen, välj Skapa API-nyckel, välj
mail:sendoch kopiera nyckeln: den visas en gång. Sidan visar dessa SMTP-inställningar bredvid nycklarna. - Skicka från en Produktkanal. From-adressen måste ligga på ett värdnamn med en aktiv Produktkanal, kanalen för kvitton, aviseringar och annan e-post från appen. Välj Lägg till kanal och sedan Produkt i Domäner, och lägg till DNS-posterna som visas. En Mail-kanal (teamets brevlådor) eller Utskick-kanal bär inte appens e-post, så den kan inte påverka teamets inkorgsrykte.
Exempel: Supabase Auth
Öppna Authentication → Emails → SMTP Settings i ditt Supabase-projekt och aktivera anpassad SMTP:
| Avsändarens e-post | En adress på din Produktkanal, som noreply@app.example.com |
|---|---|
| Avsändarnamn | Produktens namn. Banger levererar det som skrivet. |
| Värd | submit.bangermail.com |
| Port | 465 |
| Användarnamn | banger |
| Lösenord | Din API-nyckel |
Spara och skicka sedan en magisk länk från Authentication → Users för att kontrollera att den kommer fram.
Exempel: 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>",
}); För att testa från en terminal med swaks:
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 Vad som händer med varje meddelande
- Banger levererar meddelandet som appen skrev det, med ditt From-namn, signerat med domänens DKIM-nyckel och skickat från Produktkanalens studsdomän.
- Tar bort
Bcc,Return-Pathoch Bangers egna headers, och lägger till enReply-Tomed From-adressen när en sådan saknas. - Varje mottagare kontrolleras vid
RCPT TO: en spärrad adress nekas separat och övriga får meddelandet. - Ett meddelande får vara högst 10 MiB med högst 50 mottagare.
- En
Idempotency-Key-header gör ett återförsök till samma sändning. Utan den känns ett återförsök med samma meddelande och mottagare ändå igen. - Varje meddelande visas i Loggar med SMTP som källa och räknas mot din plan som alla andra sändningar.
Svar och fel
Ett avslag anger orsaken och har en referens, (ref …), som matchar posten i Loggar. Koder som börjar med 4 är tillfälliga: appen kan försöka igen senare.
| Svar | Betydelse |
|---|---|
535 5.7.8 | Lösenordet är inte en giltig Banger API-nyckel, nyckeln är återkallad eller saknar mail:send. |
421 4.7.0 | Tre misslyckade inloggningar på en anslutning: den stängs. Kontrollera nyckeln innan du försöker igen. |
454 4.7.0 | För många misslyckade inloggningar från ditt nätverk den senaste timmen. Försök igen senare. |
550 5.7.1 | From-värdnamnet saknar en Produktkanal redo att skicka (svaret anger vad som saknas), en mottagare är spärrad eller sändning pausas för ryktet. |
553 5.1.3 | En mottagaradress är ogiltig. |
552 5.3.4 | Meddelandet är större än 10 MiB. |
554 5.6.0 | Meddelandet är felaktigt formaterat, till exempel en upprepad From- eller Subject-header eller en From med fler än en adress. |
451 4.7.0 | Arbetsytans sändningskvot eller dagsgräns är slut. Den förnyas nästa faktureringsperiod eller dag, eller direkt vid planuppgradering. |
451 4.3.0 | Banger kunde inte ta emot meddelandet just nu. Försök igen. |
Säkerhet
- Banger lagrar bara en hash av varje nyckel. Återkalla eller rotera en nyckel i Hantera API-nycklar; SMTP-klienter som använder den nekas vid nästa inloggning.
- Ge SMTP en egen nyckel med bara
mail:send, så ett läckt lösenord inte kan läsa din arbetsyta. - Misslyckade inloggningar begränsas per klientnätverk och nyckel, och en nekad inloggning med en av dina nycklar registreras i Loggar.
Föredrar du HTTP? Samma sändning finns via Banger API.