Documentation
SMTP
Prefer SMTP? Point any existing mailer — Nodemailer, Postfix, a framework's mailer, a legacy app — at mailstein and keep your code. Your API key is the password.
Connection settings
| Setting | Value |
|---|---|
| Host | smtp.mailstein.com |
| Port | 2525 |
| Security | STARTTLS |
| Username | mailstein |
| Password | your mailstein API key (ms_...) |
The
From address must be on a verified domain, exactly as with the API. Delivery status, bounces and opens flow into the same dashboard and webhooks.Example — Nodemailer
Node.js
import nodemailer from "nodemailer"; const transport = nodemailer.createTransport({ host: "smtp.mailstein.com", port: 2525, secure: false, // STARTTLS is negotiated on 2525 auth: { user: "mailstein", pass: "ms_your_api_key", }, }); await transport.sendMail({ from: "hello@yourdomain.com", to: "customer@example.com", subject: "Sent over SMTP", html: "<p>Same platform, your existing mailer.</p>", });
Notes
- Use STARTTLS on port
2525(setsecure:falsein Nodemailer — TLS is upgraded after connect, not implicit). - The username is always the literal
mailstein; only the password (your API key) changes per account. - Quotas, suppression and abuse controls apply identically to SMTP and API sends.