Wysyłaj emaile przez SMTP

Skieruj dowolną aplikację obsługującą SMTP do Banger, od Supabase Auth przez WordPress po mailer frameworka. Hasłem jest klucz API Banger, a każda wiadomość jest dostarczana z Twojej domeny i pojawia się w Logach.

Ustawienia

Hostsubmit.bangermail.com
Port465 z TLS od początku lub 587 z STARTTLS. Jeśli sieć je blokuje, użyj 2465 (TLS) lub 2587 (STARTTLS); port 25 także przyjmuje STARTTLS.
Nazwa użytkownikabanger. Dowolna wartość działa: sam klucz API identyfikuje Twoją przestrzeń roboczą.
HasłoKlucz API Banger z zakresem mail:send.
SzyfrowanieTLS 1.2 lub nowszy. Logowanie jest dostępne dopiero po uruchomieniu TLS, więc klucz nigdy nie przechodzi przez sieć jawnym tekstem.
UwierzytelnianiePLAIN lub LOGIN.

Zanim zaczniesz

  1. Utwórz klucz API. W aplikacja Banger otwórz Ustawienia → Programiści → Zarządzaj kluczami API, wybierz Utwórz klucz API, zaznacz mail:send i skopiuj klucz: jest pokazywany raz. Strona pokazuje te ustawienia SMTP obok kluczy.
  2. Wysyłaj z kanału Produkt. Adres From musi być w nazwie hosta z aktywnym kanałem Produkt, przeznaczonym dla potwierdzeń, alertów i innych emaili aplikacji. W Domeny wybierz Dodaj kanał, potem Produkt i dodaj wymienione rekordy DNS. Kanał Mail (skrzynki zespołu) lub Kampania nie przenosi emaili aplikacji, więc poczta aplikacji nie może wpłynąć na reputację skrzynki odbiorczej zespołu.

Przykład: Supabase Auth

W projekcie Supabase otwórz Authentication → Emails → SMTP Settings i włącz własny SMTP:

Email nadawcyAdres w Twoim kanale Produkt, np. noreply@app.example.com
Nazwa nadawcyNazwa Twojego produktu. Banger dostarcza ją w napisanej postaci.
Hostsubmit.bangermail.com
Port465
Nazwa użytkownikabanger
HasłoTwój klucz API

Zapisz, a następnie wyślij magic link z Authentication → Users, aby sprawdzić, czy dotrze.

Przykład: 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>",
});

Aby przetestować z terminala za pomocą 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

Co dzieje się z każdą wiadomością

  • Banger dostarcza wiadomość tak, jak napisała ją aplikacja, z Twoją nazwą From, podpisaną kluczem DKIM domeny i wysłaną z domeny odbić kanału Produkt.
  • Usuwa Bcc, Return-Path i własne nagłówki Banger oraz dodaje Reply-To wskazujący adres From, gdy go brakuje.
  • Każdy odbiorca jest sprawdzany przy RCPT TO: zablokowany adres jest odrzucany osobno, a do pozostałych wysyłana jest wiadomość.
  • Wiadomość może mieć do 10 MiB i do 50 odbiorców.
  • Nagłówek Idempotency-Key sprawia, że ponowienie jest tą samą wysyłką. Bez niego ponowienie tej samej wiadomości i odbiorców także jest rozpoznawane.
  • Każda wiadomość pojawia się w Logi ze źródłem SMTP i wlicza się do planu jak każda inna wysyłka.

Odpowiedzi i błędy

Odmowa wskazuje przyczynę i zawiera referencję (ref …), która odpowiada wpisowi w Logach. Kody zaczynające się od 4 są tymczasowe: aplikacja może spróbować ponownie później.

OdpowiedźZnaczenie
535 5.7.8Hasło nie jest poprawnym kluczem API Banger, klucz jest cofnięty lub nie ma mail:send.
421 4.7.0Trzy nieudane logowania w jednym połączeniu: zostaje zamknięte. Sprawdź klucz przed ponowieniem.
454 4.7.0Zbyt wiele nieudanych logowań z Twojej sieci w ostatniej godzinie. Spróbuj później.
550 5.7.1Nazwa hosta From nie ma kanału Produkt gotowego do wysyłania (odpowiedź wskazuje brak), odbiorca jest zablokowany lub wysyłanie wstrzymano ze względu na reputację.
553 5.1.3Adres odbiorcy jest nieprawidłowy.
552 5.3.4Wiadomość jest większa niż 10 MiB.
554 5.6.0Wiadomość jest niepoprawna, np. powtórzony nagłówek From lub Subject albo From z więcej niż jednym adresem.
451 4.7.0Limit wysyłania lub dzienny limit przestrzeni jest wyczerpany. Odnawia się w następnym okresie rozliczeniowym lub dniu albo teraz po podniesieniu planu.
451 4.3.0Banger nie mógł teraz przyjąć wiadomości. Ponów.

Bezpieczeństwo

  • Banger przechowuje tylko hash każdego klucza. Cofnij lub zmień klucz w Zarządzaj kluczami API; używający go klienci SMTP zostaną odrzuceni przy następnym logowaniu.
  • Daj SMTP osobny klucz tylko z mail:send, aby ujawnione hasło nie mogło odczytać przestrzeni roboczej.
  • Nieudane logowania są ograniczane na sieć klienta i klucz, a odrzucone logowanie jednym z Twoich kluczy jest zapisywane w Logach.

Wolisz HTTP? Ta sama wysyłka jest dostępna przez API Banger.