
Elastic Email ships a first-party SMTP relay at smtp.elasticemail.com on ports 25, 587 (STARTTLS), 465 (implicit TLS) and 2525 (firewall bypass), no add-on required, and Free-tier accounts can send up to 100 emails/day before hitting the daily cap.
Elastic Email is one of the cheapest ways to ship transactional and marketing email from your own server or app. The SMTP relay is included in every plan (including the Free tier), and pricing starts at $29/month for the Starter plan, materially below equivalent volumes on SendGrid or Mailgun. Use Elastic Email SMTP when you want a straightforward cost story, a reasonable free tier for staging, and a single global endpoint. Consider Postmark if inbox placement on transactional flows matters more than price, Amazon SES if you already live in AWS, or Brevo if you need marketing automation baked in.
| SMTP server | smtp.elasticemail.com |
| Port (STARTTLS) | 587 RECOMMENDED |
| Port (implicit TLS) | 465 |
| Alternative port | 2525 (firewall bypass) or 25 (unencrypted, discouraged) |
| Username | Your Elastic Email account email or a dedicated SMTP credential email (up to 15 per account) |
| Password | Password generated when you create the SMTP credential, shown once, then obfuscated |
Route transactional and marketing email from any app, MTA, or plugin that speaks SMTP. Authentication uses SASL LOGIN/PLAIN over STARTTLS on 587 or implicit TLS on 465.
api._domainkey (see the Authentication section below).Elastic Email requires both SPF and DKIM before it will unlock production sending on a domain. Publish these DNS records exactly, the DKIM value is the same for every Elastic Email account (the key rotates only when Elastic Email publishes a new one).
; SPF, append include if you already have a v=spf1 record @ TXT "v=spf1 a mx include:_spf.elasticemail.com ~all" ; DKIM, publish exactly as-is api._domainkey TXT "k=rsa;t=s;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCbmGbQMvxwtNQoXN0waGYaciuKx8mtMh5czguT4EZlJXuCt6V+l56mmt3t68FEX5JJ0q4ijG71BGoFRkl87uJi7LrQt1ZZmZCvrEII0YO4mp8sDLXC8g1aUAoi8TJgxq2MJqCaMyj5kAm3Fdy2tzftPCV/lbdiJqmBnWKjtwIDAQAB"
If your zone already carries a v=spf1 record, do not add a second one, append include:_spf.elasticemail.com inside the existing record. Two SPF records on the same domain cause a permanent SPF failure at every major inbox provider. After publishing, hit Verify in the Elastic Email Domains screen; propagation is usually under 15 minutes on Cloudflare, up to 24 hours on legacy registrars.
Elastic Email ships an in-app DMARC Generator under Settings › Domains. Their recommended path: publish DMARC at p=none first, confirm SPF and DKIM pass consistently in your aggregate reports, then move to p=quarantine and eventually p=reject. Because DKIM uses the api._domainkey selector on your own domain, alignment is automatic as long as the From: header uses that same domain. Remember DMARC applies to all mail from the domain, not just Elastic Email, so audit every other sender (Google Workspace, Zendesk, HubSpot, your ERP) before hardening the policy.
| Limit | Value | Notes |
|---|---|---|
| Free-tier daily cap | 100 emails/day | Hard cap on the Free plan even though the monthly quota is 3,000 emails/month. |
| Concurrent SMTP connections | 20 per source IP | Documented in the help center; the classic bottleneck for MailWizz, PowerMTA and self-hosted queues. |
| Message size | 20 MB | Applies to the full MIME body including base64-encoded attachments. |
| SMTP command timeout | 2 minutes | Single-command idle timeout on the SMTP conversation. |
| Per-hour throughput | dynamic | Not published, enforced by Reputation Automation and IP-pool tiering. |
The soft-throttle model is the key thing to understand: Elastic Email deliberately does not publish a hard per-hour cap because your effective ceiling is a function of your reputation score and which shared IP pool you sit in. That is closer to how SendPulse and shared-tier Mailgun operate than the fixed daily quotas you get on Amazon SES.
When you create an SMTP credential, Elastic Email displays the password once, then obfuscates it (only the last 5 characters remain visible). There is no retrieval flow, if you lose it, delete the credential and issue a new one. Each account is capped at 15 SMTP credentials, so use per-environment (prod, staging, dev) rather than per-app to stay under the ceiling.
The Free plan advertises 3,000 emails/month but enforces a hard 100 emails/day cap. A single welcome-email + password-reset burst on a busy staging day can hit the ceiling and fail silently. Move to a paid plan ($29/month Starter) before you route production traffic, or use the Free tier strictly for smoke tests.
The SMTP endpoint throttles at 20 concurrent connections from a single source IP. If you run MailWizz, PowerMTA, or a custom queue with worker pools, set delivery-server concurrency to 20 or lower, anything higher gets rejected with connection errors that look like transient network faults. This is a per-IP limit, so multi-server fleets each get their own 20-slot budget.
Elastic Email’s Reputation Automation shuffles accounts across shared IP pools based on your account’s score. A single bad campaign hurts both deliverability and the pool tier you qualify for on your next send. Warm slowly, clean lists with the built-in verification endpoint before large sends, and treat pool downgrades as a signal to audit content and list hygiene, not to switch providers.
Migrating in is straightforward because the SMTP interface is standard. Point your app at smtp.elasticemail.com:587, swap the credentials for an Elastic Email SMTP credential, and publish the new SPF include + api._domainkey DKIM record alongside your existing sender’s records. Keep both providers active for the first 7 to 14 days, split traffic, and watch bounce and complaint rates in Statistics › Log. Once Elastic Email carries steady volume without reputation flags, remove the old SPF include. Coming from SendGrid or Mailgun? The concurrency ceiling is stricter here (20 vs their per-plan-configurable pools), so throttle worker pools before you cutover.
Leaving Elastic Email typically means one of two motivations: better inbox placement on transactional flows (Postmark, MailerSend) or deeper AWS integration (Amazon SES). Export contacts via GET /contacts on the v4 API, export suppression lists via GET /suppressions, and export campaign history via GET /statistics. On DNS, add the new sender’s SPF include and DKIM records first, verify the new domain, then dual-send for a week before removing _spf.elasticemail.com and api._domainkey. Delete your SMTP credentials in Elastic Email last, not first, so no in-flight retry attempts fail authentication mid-migration.
The hostname is smtp.elasticemail.com. Port 587 with STARTTLS is the recommended default. Port 465 works for implicit TLS, port 2525 is available as a firewall bypass, and port 25 is accepted but unencrypted and discouraged. There is one global endpoint. Elastic Email does not publish regional variants.
Authenticate with SASL LOGIN or PLAIN over TLS. The username is either your Elastic Email account email or the email attached to a dedicated SMTP credential (you can create up to 15 per account). The password is generated when you create the credential in Settings, SMTP/API. Copy it immediately. Elastic Email obfuscates it after the creation screen closes, showing only the last 5 characters. If you lose it, delete the credential and issue a new one.
Elastic Email enforces a documented cap of 20 concurrent SMTP connections from a single source IP. Above that, further connections are refused. If you run MailWizz, PowerMTA, or any custom delivery pool, set worker concurrency to 20 or below. Multi-IP fleets each get their own 20-slot budget, so horizontal scaling across IPs is the escape hatch.
Publish a TXT record on your root domain with v=spf1 a mx include:_spf.elasticemail.com ~all (or append the include to your existing SPF record, never create a second SPF record). Publish the DKIM TXT record at api._domainkey with the k=rsa key value provided in your Elastic Email dashboard. Verify the domain in Settings, Domains. Propagation is usually complete within 15 minutes on modern DNS hosts.
Both work. Port 587 uses STARTTLS (the SMTP conversation starts plaintext and upgrades to TLS after EHLO). Port 465 uses implicit TLS (the whole conversation is encrypted from the first byte). Most modern clients and MTAs default to 587 with STARTTLS, use 465 only if your library does not support STARTTLS negotiation.
The Free plan enforces a hard cap of 100 emails per day, independent of the 3,000 emails/month quota. Bursty transactional patterns (welcome flows, password resets, daily digests) can hit this ceiling before noon. Upgrade to the Starter plan at $29/month for headroom, or reserve the Free tier for smoke tests and staging.
This review follows our email infrastructure testing methodology. We disclose affiliate relationships in our editorial independence policy.