The SMTP relay service for email that actually arrives.

RichSMTP is an SMTP relay and email delivery service for transactional and marketing email. Point your app at one authenticated endpoint and it takes care of signing, queuing, retries, sender reputation and delivery reporting.

  • TLS on every connection
  • SPF, DKIM and DMARC aligned
  • Shared pools or dedicated IPs
  • Real-time delivery events
smtp session · port 587
  1. S:220 RichSMTP ESMTP ready
  2. C:EHLO app.yourdomain.com
  3. S:250 STARTTLS · AUTH PLAIN LOGIN
  4. C:STARTTLS
  5. S:220 Go ahead
  6. C:AUTH PLAIN ••••••••••••
  7. S:235 Authentication successful
  8. C:MAIL FROM:<receipts@yourdomain.com>
  9. S:250 OK
  10. C:RCPT TO:<maya@example.org>
  11. S:250 Accepted
  12. C:DATA
  13. S:354 End data with <CR><LF>.<CR><LF>
  14. C:Subject: Your receipt … .
  15. S:250 OK: queued for delivery
Illustrative session

Everything a sending domain needs, behind one SMTP login.

RichSMTP sits between your application and the world’s inboxes. You keep your code, your templates and your From address; the relay does the careful work of getting each message accepted.

  • SMTP relay

    A drop-in outgoing mail server. Swap the host, username and password in your app, CMS or device and nothing else has to change.

    • 587 STARTTLS
    • 465 TLS
    • 2525 ALT
  • Domain authentication

    Send as your own domain with SPF, DKIM and DMARC aligned, so mailbox providers can verify every message is really yours.

    Authentication-Results: spf=pass dkim=pass dmarc=pass

  • Shared pools or dedicated IPs

    Start on managed shared pools, or move to a dedicated IP when you want a sending reputation that belongs to you alone.

  • Bounce and complaint handling

    Hard bounces and spam complaints are caught and suppressed automatically, so dead addresses stop dragging your reputation down.

  • Open and click tracking

    Optional tracking shows what happens after delivery: which messages were opened and which links were clicked.

  • Events and webhooks

    Every delivery, deferral, bounce and complaint is recorded as it happens and can be pushed to your own systems by webhook.

    Illustrative event log
    TimeEventRecipientDetail
    12:04:31deliveredmaya@example.org250 OK
    12:04:33deferredliam@example.net451 try later · retrying
    12:04:38bouncedold.address@example.com550 no such user · suppressed
    12:04:41openedmaya@example.org

One relay for both kinds of email

Transactional email

Messages a person is waiting for, where seconds matter.

  • Order receipts and invoices
  • One-time passwords and sign-in codes
  • Password resets
  • Shipping and account alerts

Marketing email

Messages people asked to receive, sent at volume.

  • Newsletters
  • Product announcements
  • Onboarding sequences
  • Offers to opted-in subscribers

Follow one message from your app to the inbox.

Five things happen to every email you hand to RichSMTP. None of them needs a line of code from you.

  1. Submit

    235 Authenticated

    Your app connects over TLS and signs in with its own SMTP credential.

  2. Sign

    DKIM-Signature: d=yourdomain.com

    The message is DKIM-signed for your domain, so receivers can prove it is yours and unaltered.

  3. Queue

    451 → retry

    Mail is paced for each mailbox provider. Temporary failures are retried with backoff instead of being dropped.

  4. Deliver

    250 OK

    The relay hands the message to the recipient’s mail server, encrypted whenever that server supports TLS.

  5. Report

    event: delivered

    Delivered, deferred, bounced or complained about — each outcome becomes an event you can read or receive by webhook.

Deliverability is earned. RichSMTP builds the habits in.

Mailbox providers such as Gmail, Outlook and Yahoo judge every sender on three things: whether the mail is authenticated, how the sending domain and IP have behaved before, and how recipients react. RichSMTP is designed around those signals.

  1. Prove it is you

    Every message leaves authenticated. SPF, DKIM and DMARC line up with the domain in your From address, which is what the large mailbox providers now expect from bulk senders.

  2. Earn volume gradually

    New domains and new IPs start small. Sending volume grows step by step as providers see healthy mail, which is what IP and domain warm-up means in practice.

  3. Keep the list clean

    Addresses that hard-bounce or complain are suppressed automatically. Mailing dead addresses again and again is the fastest route to the spam folder.

  4. Send what people asked for

    RichSMTP is built for permission-based email: receipts, alerts and newsletters that people expect to receive.

The three DNS records, in plain words

RecordWhat it tells a receiving serverDNS type
SPFSender Policy Framework “These servers are allowed to send email for my domain.” TXT
DKIMDomainKeys Identified Mail “This message was signed by my domain and has not been altered.” TXT
DMARCDomain-based Message Authentication, Reporting and Conformance “If SPF and DKIM fail, do this with the message — and send me reports.” TXT

You publish these once on your sending domain. Your MX records and incoming email are not touched.

If it speaks SMTP, it already works with RichSMTP.

There is no SDK to install and no template language to learn. Use the mail library you already have and change three settings.

Connection settings

Host
Issued with your account
Authentication
Username and password, per credential
Encryption
TLS (STARTTLS or implicit)

Ports

  • Port 587STARTTLSRecommended
  • Port 465Implicit TLSAlso available
  • Port 2525AlternateWhen 587 is blocked

Works with

  • Nodemailer
  • PHPMailer
  • Python smtplib
  • Laravel
  • Django
  • Ruby on Rails
  • WordPress
  • Postfix relayhost
  • Printers and scanners

Send your first message

Node.js

import nodemailer from "nodemailer";

const transport = nodemailer.createTransport({
  host: process.env.RICHSMTP_HOST,
  port: 587, // STARTTLS
  auth: {
    user: process.env.RICHSMTP_USER,
    pass: process.env.RICHSMTP_PASS,
  },
});

await transport.sendMail({
  from: "Acme Receipts <receipts@yourdomain.com>",
  to: "maya@example.org",
  subject: "Your receipt",
  text: "Thanks for your order.",
});

Python

import os, smtplib
from email.message import EmailMessage

msg = EmailMessage()
msg["From"] = "Acme Receipts <receipts@yourdomain.com>"
msg["To"] = "maya@example.org"
msg["Subject"] = "Your receipt"
msg.set_content("Thanks for your order.")

with smtplib.SMTP(os.environ["RICHSMTP_HOST"], 587) as smtp:
    smtp.starttls()
    smtp.login(os.environ["RICHSMTP_USER"], os.environ["RICHSMTP_PASS"])
    smtp.send_message(msg)

PHP

use PHPMailer\PHPMailer\PHPMailer;

$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host       = getenv('RICHSMTP_HOST');
$mail->Port       = 587;
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->SMTPAuth   = true;
$mail->Username   = getenv('RICHSMTP_USER');
$mail->Password   = getenv('RICHSMTP_PASS');

$mail->setFrom('receipts@yourdomain.com', 'Acme Receipts');
$mail->addAddress('maya@example.org');
$mail->Subject = 'Your receipt';
$mail->Body    = 'Thanks for your order.';
$mail->send();

From first DNS record to first delivery in four steps.

Setting up an SMTP relay is mostly a DNS job. Here is the whole of it.

  1. Add your sending domain

    Tell RichSMTP which domain your email comes from, for example yourdomain.com.

  2. Publish the DNS records

    Add the SPF, DKIM and DMARC records shown for your domain. They are what proves the mail is yours.

  3. Swap in your SMTP credentials

    Replace the host, username and password in your app. Your code, templates and From addresses stay as they are.

  4. Send, then watch

    Start with real mail that people expect. Follow deliveries, bounces and complaints as events while volume grows.

Email delivery, decoded.

Twelve terms that cover most conversations about sending email.

SMTP
Simple Mail Transfer Protocol: the internet standard that mail servers use to send email to one another.
SMTP relay
A mail server that accepts messages from your application and delivers them to recipients’ mail servers on your behalf.
Transactional email
A message triggered by something a person did, such as a receipt, a one-time password or a password reset.
STARTTLS
The SMTP command that upgrades a plain connection to an encrypted one before any credentials or mail are sent.
SPF
Sender Policy Framework: a DNS record listing the servers that are allowed to send email for a domain.
DKIM
DomainKeys Identified Mail: a cryptographic signature on each message that lets receivers confirm the sending domain and that the content was not altered.
DMARC
A DNS policy that tells receivers what to do when SPF and DKIM checks fail, and where to send reports about it.
Hard bounce
A permanent delivery failure, usually because the address does not exist. It should not be mailed again.
Soft bounce
A temporary delivery failure, such as a full mailbox or a busy server. It is retried before being given up on.
Dedicated IP
A sending IP address used by one sender only, so its reputation reflects that sender’s email alone.
IP warm-up
Raising sending volume gradually on a new IP address or domain so mailbox providers can build trust in it.
Suppression list
The addresses that must not be mailed again because they bounced, complained or unsubscribed.

Questions, answered plainly.

What is an SMTP relay service?

An SMTP relay service is an outgoing mail server run for you by a specialist provider. Your application hands each email to the relay over SMTP, and the relay delivers it to the recipient’s mail server, handling authentication, queuing, retries and sender reputation along the way.

What is RichSMTP used for?

RichSMTP is used to send email from your own domain: transactional email such as receipts, one-time passwords, password resets and alerts, and marketing email such as newsletters and announcements to people who opted in.

Which SMTP ports does RichSMTP support?

Port 587 with STARTTLS is the recommended port. Port 465 with implicit TLS is also available, and port 2525 is offered as an alternate for networks that block the standard ports.

Do I need to change my DNS records?

Yes, you add a few records to your sending domain: SPF to authorise the sending servers, DKIM so receivers can verify the signature on each message, and DMARC to say what should happen when those checks fail. Your MX records and incoming email are not affected.

Can I send both transactional and marketing email?

Yes. One RichSMTP account can carry both. Both must be permission-based, meaning they go to people who expect to hear from you.

What is the difference between a shared IP and a dedicated IP?

On a shared pool, several senders send from the same managed IP addresses and share their reputation, which suits low and uneven volumes. A dedicated IP is used by you alone, so its reputation depends only on your email; it suits steady, higher volumes and needs to be warmed up first.

What happens when an email bounces?

A hard bounce, where the address does not exist, is recorded and the address is suppressed so it is not mailed again. A soft bounce, caused by a temporary problem such as a full mailbox, is retried automatically before it is reported as failed.

Does RichSMTP work with WordPress, Laravel, Django and other tools?

Yes. Anything that can send through an external SMTP server works: web frameworks such as Laravel, Django and Rails, libraries such as Nodemailer, PHPMailer and smtplib, WordPress through an SMTP plugin, and devices such as printers and scanners.

Will switching to RichSMTP change how my emails look?

No. RichSMTP relays the message your application builds. Your templates, subject lines and From addresses stay exactly as they are.

Your next email deserves to arrive.

Authenticated, paced, watched and reported: that is the whole job of an SMTP relay, and it is the only job RichSMTP does.