SMTP로 이메일 보내기

Supabase Auth, WordPress, 프레임워크 메일러까지 모든 SMTP 앱을 Banger에 연결하세요. Banger API 키가 비밀번호이며 모든 메시지는 내 도메인에서 전달되고 로그에 표시돼요.

설정

호스트submit.bangermail.com
포트처음부터 TLS를 사용하는 465 또는 STARTTLS의 587을 사용하세요. 네트워크가 차단하면 2465(TLS) 또는 2587(STARTTLS)를 사용하세요. 포트 25도 STARTTLS를 받아요.
사용자 이름banger. 모든 값이 작동하며 API 키만으로 워크스페이스를 식별해요.
비밀번호mail:send 범위가 있는 Banger API 키.
암호화TLS 1.2 이상이에요. 로그인은 TLS 시작 후에만 제공되므로 키는 네트워크를 평문으로 통과하지 않아요.
인증PLAIN 또는 LOGIN.

시작 전

  1. API 키를 만드세요. Banger 앱에서 설정 → 개발자 → API 키 관리를 열고 API 키 만들기과 mail:send를 선택한 뒤 키를 복사하세요. 한 번만 표시돼요. 페이지는 키 옆에 이 SMTP 설정을 표시해요.
  2. 제품 레인에서 보내세요. From 주소는 영수증, 알림 및 앱의 다른 이메일용 활성 제품 레인이 있는 호스트 이름에 있어야 해요. 도메인에서 레인 추가와 제품을 선택하고 표시된 DNS 레코드를 추가하세요. 메일 레인(팀 메일함)이나 단체 발송 레인은 앱 이메일을 처리하지 않으므로 앱 메일은 팀 받은편지함 평판에 영향을 줄 수 없어요.

예제: Supabase Auth

Supabase 프로젝트에서 인증 → 이메일 → SMTP 설정을 열고 사용자 지정 SMTP를 켜세요:

보낸 사람 이메일noreply@app.example.com 같은 제품 레인의 주소
보낸 사람 이름제품 이름이에요. Banger는 작성된 그대로 전달해요.
호스트submit.bangermail.com
포트465
사용자 이름banger
비밀번호API 키

저장한 뒤 인증 → 사용자에서 매직 링크를 보내 도착하는지 확인하세요.

예제: 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>",
});

터미널에서 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

각 메시지에 일어나는 일

  • Banger는 앱이 작성한 그대로 From 이름을 유지하고 도메인 DKIM 키로 서명해 제품 레인의 바운스 도메인에서 메시지를 전달해요.
  • Bcc, Return-Path, Banger 자체 헤더를 제거하고 없으면 From 주소를 지정하는 Reply-To를 추가해요.
  • 각 수신자는 RCPT TO에서 확인하며 억제된 주소만 거부하고 나머지는 발송해요.
  • 메시지는 최대 10 MiB이며 수신자는 최대 50명이에요.
  • Idempotency-Key 헤더는 재시도를 같은 발송으로 만들어요. 없어도 같은 메시지와 수신자의 재시도는 인식돼요.
  • 모든 메시지는 SMTP를 소스로 로그에 표시되며 다른 발송처럼 요금제 사용량에 포함돼요.

응답과 오류

거부는 원인과 로그 항목에 일치하는 참조 (ref …)을 포함해요. 4로 시작하는 코드는 일시적이며 앱이 나중에 재시도할 수 있어요.

응답의미
535 5.7.8비밀번호가 유효한 Banger API 키가 아니거나 키가 취소됐거나 mail:send이 없어요.
421 4.7.0연결 하나에서 로그인 3번 실패 시 닫혀요. 재시도 전에 키를 확인하세요.
454 4.7.0지난 한 시간 동안 네트워크에서 로그인 실패가 너무 많아요. 나중에 다시 시도하세요.
550 5.7.1From 호스트 이름에 발송 준비된 제품 레인이 없거나(응답에 부족한 내용 표시) 수신자가 억제됐거나 평판 때문에 발송이 일시 중지됐어요.
553 5.1.3수신자 주소가 유효하지 않아요.
552 5.3.4메시지가 10 MiB보다 커요.
554 5.6.0메시지 형식이 잘못됐어요. 예: 반복된 From 또는 Subject 헤더, 주소가 여러 개인 From.
451 4.7.0워크스페이스 발송 허용량 또는 일일 한도를 다 썼어요. 다음 청구 기간이나 다음 날 갱신되거나 요금제 업그레이드로 지금 갱신돼요.
451 4.3.0Banger가 지금 메시지를 받을 수 없어요. 다시 시도하세요.

보안

  • Banger는 각 키의 해시만 저장해요. API 키 관리에서 키를 취소하거나 교체하면 이를 사용하는 SMTP 클라이언트는 다음 로그인에 거부돼요.
  • SMTP에 mail:send만 있는 전용 키를 제공하면 유출된 비밀번호로 워크스페이스를 읽을 수 없어요.
  • 로그인 실패는 클라이언트 네트워크별 및 키별로 제한되며 내 키로 거부된 로그인은 로그에 기록돼요.

HTTP를 선호하시나요? 같은 발송을 Banger API으로 사용할 수 있어요.