Maileroo plugin for WordPress

Install the Simple SMTP by Maileroo plugin if the site has already settled on Maileroo and wants either a single-purpose SMTP integration or an HTTP API path for hosts that block outbound SMTP. Install WP Mail SMTP or FluentSMTP in Other SMTP mode if the site benefits from plugin-side logging, fallback, or per-sender routing on top of Maileroo’s dashboard. All paths reach smtp.maileroo.com on port 587, 465, or 2525 with the same SMTP credential pair; the choice is about what the plugin does around the send, not about how the send itself works.

For the case for or against Maileroo as the sending service (the 3,000-a-month free tier without vendor branding, EU-resident infrastructure, feature parity across paid tiers), start at the Maileroo review. This page is the setup walk-through. It assumes the decision to use Maileroo has already been made.

Which plugin to install

Four plugins reach Maileroo, and the choice comes down to whether the operator wants a Maileroo-authored integration with an API-mode fallback or a general-purpose mailer plugin with logging and routing.

Simple SMTP by Maileroo is authored by Maileroo co-founder Areeb Majeed and marketed by Maileroo as the official plugin. It supports two connection modes: SMTP relay against smtp.maileroo.com with the credentials from Domains > SMTP Accounts, and the Maileroo HTTP API for hosts that block outbound SMTP ports. Roughly 700 active installs, tested against WordPress 6.9. Pick it when Maileroo is the final decision, when a second mailer plugin’s feature set is not needed, or specifically when the WordPress host blocks outbound 587 and 465 and the HTTP API is the only path out.

WP Mail SMTP does not have a dedicated Maileroo mailer in its picker, but its Other SMTP option connects to smtp.maileroo.com:587 with the same credentials, and adds the surrounding features Maileroo’s own plugin does not: email logging (free), a setup wizard, and, on the Pro tier, backup connections and smart routing. Pick it when the site might change providers later, or when the operator wants the full mailer-plugin feature set from day one.

FluentSMTP reaches Maileroo in generic-SMTP mode on smtp.maileroo.com:587. FluentSMTP is free and open-source with no upsell path, and its per-address routing rules are cleaner than WP Mail SMTP’s free tier. Pick it when the site runs multiple senders and needs per-address routing without paying for WP Mail SMTP Pro.

Post SMTP reaches Maileroo in generic-SMTP mode with the same credentials. Its differentiator is real-time failure notifications (Chrome push, Slack, Teams, and SMS on the paid tier); if a bounced order confirmation needs to page an operator within minutes, Post SMTP is the plugin.

For the plugin-by-plugin comparison in the general case (not Maileroo-specific), see best WordPress SMTP plugins.

Before touching WordPress

Maileroo will not accept a send from a domain until the domain is added, verified, and its DKIM record propagates. Two things sit upstream of the WordPress install: a verified sending domain, and SMTP credentials generated inside Maileroo’s dashboard.

Verify the sending domain and publish DKIM and SPF

Log in to the Maileroo dashboard, then Domains > Add Domain. Enter the domain the WordPress site sends From:, meaning example.com, not mail.example.com. Maileroo generates a DKIM key pair and returns two records to publish at the domain’s DNS host: an SPF entry and a DKIM record.

The SPF entry adds include:_spf.maileroo.com to the domain’s existing SPF record at the apex. If the domain already has an SPF record covering Google Workspace or another sender, edit it to add the include; do not create a second SPF record at the apex, because a domain with two SPF records at the same name is a permanent SPF error under RFC 7208 regardless of what the records say. If the domain has no SPF record, publish v=spf1 include:_spf.maileroo.com -all. The SPF merger folds the Maileroo include into an existing string and counts DNS lookups against RFC 7208’s ten-lookup ceiling before you publish.

The DKIM record is unusual for the category. Maileroo publishes the DKIM key as a TXT record at maileroo._domainkey.<your-domain> with the public key generated in the dashboard pasted verbatim as the value – not as a CNAME to a Maileroo-operated key server the way MailerSend, Amazon SES, and Postmark do it. The tradeoff: Maileroo cannot rotate the key without the domain owner republishing the TXT record, but the domain owner controls the record and Maileroo cannot silently change it.

Return to the Maileroo dashboard and click Verify. Verification is typically minutes when propagation is fast and up to an hour on slow DNS hosts. The dashboard reports each record’s status individually; both SPF and DKIM must show verified before Maileroo signs sends from that domain.

DMARC is not Maileroo-specific but is required for domains sending more than 5,000 messages per day to Gmail or Yahoo under their 2024 bulk-sender rules. Publish _dmarc.example.com as TXT v=DMARC1; p=none; rua=mailto:[email protected] as a safe starting point; tighten to p=quarantine or p=reject once reports show no legitimate mail failing alignment. The bulk sender authentication checklist has the full order of operations.

Once DKIM and SPF verify in the Maileroo dashboard, the DNS auth checker reads how the TXT and the apex SPF resolve from a receiver’s perspective, which catches nameserver caches and mistyped selectors before real traffic does.

Generate SMTP credentials

In the Maileroo dashboard, Domains > pick the verified domain > SMTP Accounts > New Account. Give the account a meaningful alias (which becomes the local part of the SMTP username, so wordpress gives you wordpress@<your-domain>). The dashboard shows the SMTP username (the full alias@domain address) and password on the account’s row. Copy both into the plugin. Maileroo’s SMTP credentials are scoped per-domain, not account-wide, which is the reverse of how MailerSend does it.

For the API path (Simple SMTP by Maileroo’s HTTP API mode, or a custom integration), the equivalent step is Sending Keys > Create Key, which returns an API key scoped per-domain with an optional expiry.

Installing and configuring the Simple SMTP by Maileroo plugin

The plugin install is standard: Plugins > Add New > search Simple SMTP by Maileroo > Install > Activate. Deactivate any other mailer plugin still active on the site before enabling Maileroo’s – two mailer plugins overriding wp_mail() at once is the most common cause of an install appearing to do nothing.

The plugin exposes a mode toggle at the top of Settings > Simple SMTP: SMTP or HTTP API. In SMTP mode, four fields matter. Set SMTP Host to smtp.maileroo.com. Set SMTP Port to 587 (with STARTTLS), 465 (with SSL/TLS), or 2525 if the host blocks 587. Paste the SMTP username generated earlier – the full email address, not just the alias – into SMTP Username. Paste the SMTP password into SMTP Password; the plugin stores the password in the WordPress database, so a hosting environment with database access in a shared context should treat that the same way it treats any other API credential. Set the from-address to an address at the domain verified with Maileroo, and the from-name to the site or brand name.

In HTTP API mode, the SMTP fields are replaced by a single API Key field. Paste the API key generated under Sending Keys. The plugin then sends over HTTPS on port 443 to Maileroo’s REST API and does not touch outbound SMTP ports at all – the fallback path when the WordPress host blocks 587, 465, and 2525. The WP mail config generator returns the SMTP credential block for the plugin fields.

Save. The plugin does not run a validate-connection check on save; the test-send button below is the confirmation.

Send a test message to an address you can read. The plugin round-trips the send through Maileroo and reports success or the error in the admin. A success reply confirms the credentials, sender identity, and outbound connection are wired up correctly; verify the message actually arrived at the destination before treating the setup as done, and open the message headers to confirm Authentication-Results shows dkim=pass for maileroo._domainkey.<your-domain> and spf=pass for the sending IP. If either fails, the DNS records did not propagate or were entered incorrectly at the DNS host; return to the Maileroo dashboard’s domain page and re-check.

For WP Mail SMTP with Other SMTP, the equivalent settings live under WP Mail SMTP > Settings > Mailer > Other SMTP. Host smtp.maileroo.com, Port 587, Encryption STARTTLS, Authentication PLAIN or LOGIN, Username and Password from the Maileroo dashboard. WP Mail SMTP’s Email Test tab handles the test send. FluentSMTP and Post SMTP use the same field values under their own connection screens.

Sending the first test and reading the failure

The three error patterns worth naming.

535 5.7.8 Authentication credentials invalid. The SMTP username or password was mistyped, was regenerated in the dashboard after the plugin saved, or was pasted with a leading space. Copy the credentials again from the Maileroo dashboard (Domains > SMTP Accounts) and paste them into the plugin. If the SMTP account was deleted in the dashboard after the plugin last saved, WordPress is still holding a stale credential; generate a new SMTP account and re-save the plugin.

554 The from header is missing or invalid or a sender-verification failure. The from-address is at a domain Maileroo has not verified, or the DKIM TXT has not propagated. Check the Maileroo dashboard’s domain page shows both records verified for the exact domain in the from-address. [email protected] is a different domain to [email protected] under DKIM alignment rules; verify the domain the site actually sends from, not the domain the site is hosted at.

Connection timeouts or SMTP connect errors on 587. The WordPress host blocks outbound port 587. Try port 465 first (implicit TLS is often permitted where STARTTLS is not), then 2525 as the fallback. If all three ports are blocked and the host will not open any of them, switch the Simple SMTP by Maileroo plugin to HTTP API mode – that path uses HTTPS on port 443 and is not affected by SMTP-port blocks. WP Mail SMTP’s Other SMTP mode does not have an HTTP API fallback for Maileroo specifically, so the SMTP-blocked case is where the Maileroo-authored plugin’s dual-mode design pays off.

The Maileroo Logs section under Logs > Search shows every send in near-real-time with delivery, opens, and any bounce or complaint reason, kept for 14 days on every plan. A message that shows Delivered in the log view but has not arrived at the destination is a receiver-side delivery decision, not a Maileroo problem, and the message headers (Authentication-Results, Received-SPF) are where the reason lives.

Maileroo-specific things to know

The DKIM record is TXT, not CNAME. Most transactional providers (MailerSend, Postmark, Amazon SES, Mailgun) publish DKIM as a CNAME record that points at a provider-operated key server, which lets the provider rotate keys without the domain owner republishing DNS. Maileroo hands you the DKIM public key at domain creation and asks you to paste it into a TXT record at maileroo._domainkey.<your-domain>. The domain owner keeps control of the record; the tradeoff is that a Maileroo-initiated key rotation requires the domain owner to republish the record.

Log retention is 14 days on every plan. Unlike MailerSend (1 day on Free and Hobby, 30 on Professional) or Postmark (45 days on the standard tier), Maileroo does not vary retention by tier – the 14-day window is uniform from Free to Enterprise. Sites that need longer retention should either mirror sends to a WordPress email log (Check & Log Email, Log Emails, or WP Mail SMTP’s own log tier) in parallel, or export events via the webhook path into a longer-lived store.

Overage does not send. Every provider handles a spike past the plan quota differently. Amazon SES bills per thousand at the same rate. MailerSend charges a per-thousand overage rate that tapers with volume. Maileroo does not send at all past the quota – the message is held until the quota resets on the billing cycle or the plan is upgraded. Paying users get a 12% quota buffer to absorb small spikes; a WooCommerce site that could plausibly hit two or three times its typical monthly volume during a sale should size the plan to include that spike, not size it to typical volume and rely on the buffer.

EU data residency is the default, not an opt-in. Maileroo’s infrastructure runs in Germany, the Netherlands, Finland, and France, and every send is processed inside the EU. There is no US region to opt into, and there is no US region to accidentally fall back to. For a domain with an EU-resident data policy, that removes a class of configuration mistake other providers introduce by defaulting to US and requiring an EU opt-in at signup.

The plugin ecosystem is thinner than the established providers. WP Mail SMTP does not ship a dedicated Maileroo mailer picker (Other SMTP works, but the setup wizard does not); FluentSMTP works in generic mode. The Maileroo-authored Simple SMTP plugin sits at roughly 700 active installs. Sites that value a large plugin ecosystem should weigh that against Maileroo’s price advantage.

When another provider fits better

If the priority is US data residency for regulatory reasons, Postmark, SMTP2GO, and MailerSend fit where Maileroo’s EU-first infrastructure does not. If the site is on AWS and per-message cost dominates, Amazon SES at $0.10 per 1,000 messages is still cheaper than Maileroo at high volume. If the site needs a vendor with a decade of operational track record and the risk profile of a two-founder 2024-vintage company is unacceptable, Postmark (2010) and SMTP2GO (2006) are the older, more established picks. If the priority is deliverability at very high volume and the budget supports the price step, Postmark is purpose-built for that. The SMTP cost calculator runs the crossover math against a site’s actual monthly send volume.

Related

When you are ready to go further: