Chat bot builder? Go to buzzmark.chat

Developers

SMTP relay

Already have a mailer? Point it at Buzzmark and keep sending the way you do today. Every message gets the same checks, tracking and logging as the API.

Connection settings

What a session looks like SMTP
S: 220 smtp.buzzmarkapp.com ESMTP
C: EHLO app.acme.com
S: 250-smtp.buzzmarkapp.com
S: 250-STARTTLS
S: 250 ...
C: STARTTLS
S: 220 Go ahead
   (TLS handshake - AUTH is only offered from here on)
C: EHLO app.acme.com
S: 250-AUTH PLAIN LOGIN
S: 250 ...
C: AUTH PLAIN AGJ6bV9zcnZfLi4uAGJ6bV9zcnZfLi4u
S: 235 2.7.0 Authentication successful
C: MAIL FROM:<hello@acme.com>
C: RCPT TO:<customer@example.com>
C: DATA
   ...
S: 250 Message accepted as f5ab446c-18ad-4db4-b747-8e1ba70ec72d

Authentication

How your email is read

Sending rules

SMTP replies

Examples

Quick test

swaks shell
swaks \
  --server smtp.buzzmarkapp.com --port 587 -tls \
  --auth PLAIN \
  --auth-user bzm_srv_... --auth-password bzm_srv_... \
  --from hello@acme.com \
  --to customer@example.com \
  --header "Subject: Hello from SMTP" \
  --body "It works."

Frameworks

Laravel .env
# .env
MAIL_MAILER=smtp
MAIL_HOST=smtp.buzzmarkapp.com
MAIL_PORT=587
MAIL_ENCRYPTION=tls
MAIL_USERNAME=bzm_srv_...
MAIL_PASSWORD=bzm_srv_...
MAIL_FROM_ADDRESS=hello@acme.com
MAIL_FROM_NAME="Acme"
Node.js Nodemailer
import nodemailer from "nodemailer";

const transport = nodemailer.createTransport({
  host: "smtp.buzzmarkapp.com",
  port: 587,
  secure: false,          // starts plain, then upgrades with STARTTLS
  requireTLS: true,       // refuse to send if STARTTLS fails
  auth: { user: "bzm_srv_...", pass: process.env.BUZZMARK_TOKEN },
});

await transport.sendMail({
  from: "Acme <hello@acme.com>",
  to: "customer@example.com",
  subject: "Your receipt",
  html: "<p>Thanks for your order!</p>",
  text: "Thanks for your order!",
  headers: { "X-Order-Id": "1234" },
});
Python smtplib
import os, smtplib
from email.message import EmailMessage

msg = EmailMessage()
msg["From"] = "Acme <hello@acme.com>"
msg["To"] = "customer@example.com"
msg["Subject"] = "Your receipt"
msg.set_content("Thanks for your order!")
msg.add_alternative("<p>Thanks for your order!</p>", subtype="html")

token = os.environ["BUZZMARK_TOKEN"]
with smtplib.SMTP("smtp.buzzmarkapp.com", 587) as smtp:
    smtp.starttls()
    smtp.login(token, token)
    smtp.send_message(msg)
Django settings.py
# settings.py
EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
EMAIL_HOST = "smtp.buzzmarkapp.com"
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = os.environ["BUZZMARK_TOKEN"]
EMAIL_HOST_PASSWORD = os.environ["BUZZMARK_TOKEN"]
DEFAULT_FROM_EMAIL = "Acme <hello@acme.com>"
Rails Action Mailer
# config/environments/production.rb
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
  address: "smtp.buzzmarkapp.com",
  port: 587,
  user_name: ENV["BUZZMARK_TOKEN"],
  password: ENV["BUZZMARK_TOKEN"],
  authentication: :plain,
  enable_starttls: true
}