Joomla7 min read

Joomla SMTP setup: config + placement test that actually works

Switching Joomla from PHP mail to SMTP is the single biggest deliverability upgrade you can make. But SMTP alone is not enough — you also need DMARC and a reputation-clean sending IP. Here is the complete walkthrough with a final seed-test.

If you have arrived here, you already know Joomla's default PHP mail transport is not enough. SMTP with authentication is the replacement. But SMTP alone is only step one — without DMARC and a sending IP with a clean reputation, your mail will still land in spam more often than not. This guide walks through the complete setup and finishes with a real placement test.

What "done" looks like

You can open an incognito browser, register a new account on your Joomla site using a Gmail address, and the confirmation email lands in the primary Gmail inbox (not Promotions, not Spam). The email headers show spf=pass, dkim=pass, dmarc=pass. That is the target.

Before you start

You will need:

  • A Joomla 4 or 5 admin account (the Mail Settings UI is the same; for Joomla 3, the menu path is Global Configuration → Server).
  • Access to DNS for the domain you send from. This is the most common blocker — if your DNS is locked behind a third party, budget a day.
  • An account on a transactional sending provider. For this guide: Postmark, SendGrid, Mailgun, Amazon SES, or Brevo. Pick one.

Joomla configuration, step by step

Log in to Joomla admin. Navigate: System → Global Configuration → Server tab → Mail Settings section.

Mailer + From identity

  1. Mailer: change from PHP Mail to SMTP.
  2. From Email: set to a mailbox on the domain you will authenticate, for example noreply@yoursite.com. Do not use a Gmail address here — Gmail will reject mail "from" a Gmail address that arrives via another IP.
  3. From Name: the public sender name recipients will see. Keep it short and recognisable, e.g. your brand.
  4. Send Mail: leave Yes. This is the master switch.
  5. Disable Mass Mail: leave No unless you want to block Joomla's mass-mail feature entirely.

SMTP credentials

  1. SMTP Authentication: Yes.
  2. SMTP Security: TLS. Port 587. (SSL on port 465 also works but 587/TLS is the modern default.)
  3. SMTP Port: 587.
  4. SMTP Username / Password / Host: from your provider. Common patterns:
Postmark
  Host: smtp.postmarkapp.com
  User: <server API token>
  Pass: <server API token>

SendGrid
  Host: smtp.sendgrid.net
  User: apikey        (literal string)
  Pass: <SendGrid API key>

Mailgun
  Host: smtp.mailgun.org (or smtp.eu.mailgun.org for EU region)
  User: postmaster@mg.yoursite.com
  Pass: <Mailgun SMTP password>

Amazon SES
  Host: email-smtp.<region>.amazonaws.com
  User: <SES SMTP user, NOT your AWS access key>
  Pass: <SES SMTP password>

Brevo (ex-Sendinblue)
  Host: smtp-relay.brevo.com
  User: <Brevo login email>
  Pass: <SMTP key, generated in Brevo dashboard>

Save the configuration. Joomla will reload and show a green success banner.

Joomla's built-in Send Test Mail

Still in Mail Settings, click Send Test Mail. This sends a short test to the super-user's account email. If it arrives (check both inbox and spam), transport is working.

If the test fails
  • Authentication failed: copy-paste the username/password again. Providers often display the values with invisible whitespace.
  • Connection refused / timeout: your host blocks outbound port 587. Try 465 with SSL, or ask the host to open 587.
  • SSL/TLS handshake error: mismatch between port and security setting. Port 587 needs TLS; port 465 needs SSL.

DNS records: SPF, DKIM, DMARC

Transport working is half the battle. Authentication is the other half. You need three records.

; 1. SPF — authorise your provider to send as yoursite.com
yoursite.com.        IN  TXT  "v=spf1 include:<provider-spf> ~all"

; 2. DKIM — provider gives you selector records; example for Postmark:
20240101pm._domainkey.yoursite.com.  IN  TXT  "k=rsa; p=MIGfMA0...longstring...QAB"

; 3. DMARC — start at quarantine with reporting
_dmarc.yoursite.com. IN  TXT  "v=DMARC1; p=quarantine; rua=mailto:dmarc@yoursite.com; pct=100; adkim=r; aspf=r"

The <provider-spf> value depends on who you chose — spf.mtasv.net for Postmark, sendgrid.net for SendGrid, mailgun.org for Mailgun, amazonses.com for SES, spf.brevo.com for Brevo.

After publishing, wait 10 minutes, then send another Joomla test mail to a Gmail address you own. Open the message, choose "Show original", and confirm all three: SPF: PASS, DKIM: 'yoursite.com' PASS, DMARC: 'yoursite.com' PASS.

Joomla integration in beta

A native Joomla extension is in private beta — schedule placement tests from admin and alert on drops.

→ Join the beta waitlist

The placement test

The Joomla test email is minimal. Your real templates — registration, password reset, contact form — are longer, have links, sometimes have images. They scan differently. You need to test them as they really send.

  1. Open check.live-direct-marketing.online and generate 20+ seed addresses across Gmail, Outlook, Yahoo, Mail.ru, Yandex, GMX, Web.de and ProtonMail.
  2. Copy a seed address into the Joomla front-end registration form. Submit. Watch the confirmation email fan out to the seed panel, with per-provider placement (Inbox / Spam / Promotions).
  3. Trigger a password reset for an existing seed account. Re-test.
  4. Submit the contact form as a seed. Check how the notification lands at the site mailbox.

Green means 95%+ inbox across the board. Yellow in the 70-94% band usually points at content (too many links, external images from a cold domain). Red below 70% means authentication is still broken somewhere — re-check the DMARC report mailbox for clues.

A note on warm IPs

If you picked Postmark or SendGrid, your mail leaves via their shared "transactional" IPs, which are already warm and have strong reputation. If you picked SES, the default is a shared IP too, but for mixed-traffic senders you can be placed on a noisier pool. If you opted for a dedicated IP, budget 2-4 weeks of warm-up before trusting it with real registrations — a cold dedicated IP behaves worse than a warm shared one.

FAQ

Joomla 3 vs Joomla 4 vs Joomla 5: does the config differ?

The field names are the same, but the path changes. Joomla 3: Global Configuration → Server tab. Joomla 4/5: System menu → Global Configuration → Server tab. Joomla 5 also lets you store SMTP password in environment variables via the "Secret Key" feature — prefer that for production.

Can I use Gmail SMTP (smtp.gmail.com) from Joomla?

Technically yes with an app password. For a dev site or very low volume, it works. For any production site, do not — Gmail's sending limits (500/day free, 2000/day Workspace) and bulk-sender rules will bite you, and you cannot configure DKIM for a Gmail-sent message on your own domain.

My host offers an SMTP relay. Should I use it?

Only if they offer DKIM signing for your domain and publish SPF includes. Most shared hosts do not. You can test: have the host send a message, then check received headers for dkim=pass aligned with your domain. If yes, use them. If no, use a dedicated transactional provider.

How often should I re-run the placement test?

Weekly for a busy membership site, monthly for a slow brochure site. Always re-test after changing templates, rotating DKIM keys, or moving providers. Subscribe to DMARC aggregate reports — they flag new problems before users complain.
Related reading

Check your deliverability across 20+ providers

Gmail, Outlook, Yahoo, Mail.ru, Yandex, GMX, ProtonMail and more. Real inbox screenshots, SPF/DKIM/DMARC, spam engine verdicts. Free, no signup.

Run Free Test →

Unlimited tests · 20+ seed mailboxes · Live results · No account required