Mailgun Warm Up: SMTP Setup, DNS Checks and a 28-Day Ramp
Warm up Mailgun over 14–28 days, starting at 3 emails per day and increasing only after SPF, DKIM and DMARC pass. If you skip the ramp, a new Mailgun domain or dedicated IP can build a poor reputation before real campaigns start. This guide gives the setup, caps, SMTP hosts, schedule and checks.
Mailgun is a sending platform, not a normal mailbox. That changes the workflow. You need Mailgun SMTP credentials for sending and a real receiving inbox for placement checks. If you want the ramp handled automatically, BobWork Email Warm-up supports Mailgun through SMTP plus an IMAP receiving inbox.
What does Mailgun warm up mean?
Mailgun warm-up is the controlled increase of sending volume from a Mailgun domain, and sometimes from a dedicated IP. The goal is to build a steady sending pattern before you rely on that sender for cold outreach or production traffic.
For cold email, warm-up gives mailbox providers a low-risk sample of your sender behavior. For transactional email, it prevents a new sender from going from zero to production volume overnight.
Mailgun can show events such as accepted, delivered, bounced, complained about or rejected. That is useful, but it is not inbox placement. A receiving server can accept a message and still place it in Spam.
That is why warm-up needs two sides: the Mailgun sender and a mailbox that receives the messages.
| Component | What it does | Why it matters |
|---|---|---|
| Mailgun sending domain | Sends through Mailgun SMTP or API | Builds history for the domain and sending route |
| Receiving inbox | Receives warm-up mail and checks folders | Shows Inbox vs Spam, not only server acceptance |
| DNS authentication | Proves the sender is allowed | SPF, DKIM and DMARC reduce spoofing signals |
| Volume ramp | Controls the daily increase | Avoids sudden spikes from a cold sender |
| Logs and complaints | Show failures and abuse signals | Helps you pause before damage spreads |
For a broader schedule, compare this process with the 14-day and 28-day email warm-up schedule. Mailgun adds one extra check: your account, domain or IP limits may be lower than your planned ramp.
Which domain should you warm?
Do not warm up from a Mailgun sandbox domain. Use a verified domain or subdomain you control.
For cold email, many teams use a separate sending subdomain, such as mail.example.com or outreach.example.com. For transactional email, use a subdomain that matches the stream, such as mg.example.com or notify.example.com.
Do not mix risky cold outreach with critical transactional mail on the same sender. Password resets and invoices should not share reputation with prospecting campaigns.
Open Mailgun, add the domain, then copy the DNS records Mailgun gives you. Do not guess the values. Record names, DKIM selectors and verification values can vary by account, region or setup.
Typical records include these:
| Record | Name | Value | Purpose |
|---|---|---|---|
| SPF TXT | Domain or subdomain shown by Mailgun | Copy Mailgun’s exact TXT value | Authorises Mailgun to send |
| DKIM TXT | Selector host shown by Mailgun | Copy Mailgun’s public key | Signs mail with your domain |
| CNAME | Tracking host, if enabled | Copy Mailgun’s target | Aligns tracking links with your domain |
| MX | Only if you use Mailgun inbound routing | Copy Mailgun’s MX values | Lets Mailgun receive routed mail |
| DMARC TXT | _dmarc on the visible From domain | Start with monitoring if needed | Tells receivers how to handle failures |
Use Mailgun’s current documentation for exact records, not an example copied from another domain. Start with Mailgun’s domain verification documentation.
After publishing DNS, wait for propagation and verify the domain in Mailgun. Then check public DNS outside Mailgun. Use an SPF checker, DKIM checker and DMARC checker against the live DNS result.
If you use BobWork Email Warm-up, SPF, DKIM and DMARC checks run daily and appear per domain. You can also use the separate SPF checker, DKIM checker and DMARC checker before sending.
What Mailgun limits apply?
Check Mailgun’s current account, domain and plan limits before you build the ramp. New accounts or new sending routes may have controls that stop you before your planned daily total.
Do not assume a campaign tool can send just because it can queue messages. If Mailgun limits your account or route, messages may be delayed, rejected or throttled.
Check these places in Mailgun:
- Account or billing limits.
- Sending domain settings.
- Logs for accepted, rejected and failed events.
- Any dedicated IP controls if you use a dedicated IP.
If the interface changes, search for “limits,” “sending,” “domains” and “logs” in the control panel. The menu label matters less than confirming the current cap for your account and region.
Use the smallest limit as the real limit. If your warm-up tool allows 30 per day, but Mailgun allows fewer at first, edit the cap down.
For Google and Yahoo recipients, also watch complaint rates. Google’s sender guidance says spam complaint rates should stay below 0.1% and never reach 0.3% or higher. That is not Mailgun-specific. It affects anyone sending to Gmail or Google Workspace inboxes. Read Google’s current requirements in Google’s email sender guidelines.
How do you connect SMTP?
For warm-up, Mailgun sends the message. A normal mailbox receives it and reports placement. That mailbox must support IMAP if the warm-up engine needs to detect Inbox and Spam folders.
In Mailgun, create or copy SMTP credentials for the domain you want to warm. Common secure SMTP options are port 587 with STARTTLS and port 465 with SSL/TLS. Use the secure option your sending tool supports.
Choose the SMTP host for your Mailgun region:
| Region | SMTP host | Use this when |
|---|---|---|
| US | smtp.mailgun.org | Your Mailgun domain is in the US region |
| EU | smtp.eu.mailgun.org | Your Mailgun domain is in the EU region |
| Unknown | Check Mailgun domain settings | You are not sure which region owns the domain |
Do not mix a domain with the wrong regional host. Check the hostname, authentication format and ports in Mailgun’s SMTP sending documentation.
Then connect a receiving inbox. This can be Gmail, Google Workspace, Zoho Mail, Yahoo, iCloud, Lark or another IMAP mailbox. The receiving inbox is where spam placement is measured.
For BobWork Email Warm-up, Mailgun uses the platform’s SMTP credentials for sending and the receiving inbox over IMAP. The shared warm-up network does the send, reply, rescue and archive steps automatically. Warm-up mail found in Spam is moved to Inbox, marked read, labelled “Warm-up” and archived after 24 hours.
Only warm-up mail carrying the engine’s hidden header is touched. Real mail is not read, moved or answered.
If you prefer to keep warm-up only among your own addresses, switch to a private pool in the dashboard under Mailbox pool → Pool mode. The default is a shared warm-up network, where active mailboxes exchange warm-up mail across accounts.
What ramp should you use?
Use 14 days for an existing healthy domain. Use 3–4 weeks for a new domain, a new dedicated IP, or a new transactional stream that will later carry meaningful volume.
The first limit is not your target volume. It is the lowest of these numbers:
- Mailgun’s current account, domain or route cap.
- Your warm-up tool’s mailbox cap.
- Your domain’s safe stage in the ramp.
- Your spam placement and complaint signals.
Here is a safe starting schedule for Mailgun. It assumes Mailgun allows the volume. If Mailgun’s current cap is lower, follow Mailgun’s cap.
| Day range | Warm-up sends/day | Weekend level | What to watch | Action |
|---|---|---|---|---|
| 1–3 | 3–7 | About 30% | DNS pass, SMTP auth, first spam landings | Fix setup before adding volume |
| 4–7 | 9–15 | About 30% | Spam placement trend, bounces | Hold if spam rises |
| 8–14 | 17–29 | About 30% | Replies, inbox recovery, logs | Existing domains may be ready |
| 15–21 | 30–45 | About 30% | Mailgun limits, complaints, block events | Add real traffic slowly |
| 22–28 | 45–60 | About 30% | Stability across providers | Prepare production volume |
| Campaign phase | 10–15 warm-up plus real mail | About 30% | Spam rate and replies | Keep real outreach modest |
BobWork’s default ramp starts at 3 emails per day, adds 2 per day, and caps at 30 per day. The cap is editable per mailbox up to 100. Sends are spread between 09:00 and 18:00 in the mailbox’s own time zone, with randomness every 15 minutes. Weekends run at 30%.
That pattern matters for Mailgun because one-hour spikes can hit limits faster than a smooth daily total. Ten messages sent in one burst look different from ten messages spread over a business day.
For cold outreach, keep real sending conservative after warm-up. A typical safe range is 30–50 real outreach emails per mailbox per day. Add mailboxes rather than pushing one sender too hard.
For transactional email, ramp based on expected production traffic. If you expect only 200 receipts per day, there is no need to warm far above that. If you expect a launch spike, ask Mailgun about current plan limits and dedicated IP needs before launch day.
Domain or IP reputation?
Mailgun reputation is not one thing. Mailbox providers judge the visible From domain, DKIM domain, return-path domain, links, content, recipient behaviour and sending IP.
Domain warm-up is always relevant. IP warm-up depends on your Mailgun setup.
On a shared IP, Mailgun controls the pool. You still need to warm your domain because your domain history is yours. A shared IP does not make a new domain trusted.
On a dedicated IP, the IP has its own reputation. A cold dedicated IP with sudden high volume can fail even when DNS is correct. If Mailgun gives you a dedicated IP warm-up process in your account, follow Mailgun’s current guidance and do not override it with a campaign tool.
Do not switch from shared IP to dedicated IP halfway through a warm-up and assume the earlier history transfers. The earlier activity may help the domain, but the dedicated IP still needs its own sending history.
Separate cold and transactional reputation where possible:
| Use case | Recommended sender | Why |
|---|---|---|
| Password resets | Transactional subdomain | Protects critical delivery |
| Receipts and invoices | Transactional subdomain | Keeps compliance and trust separate |
| Product notifications | Notification subdomain | Easier to monitor by stream |
| Cold outreach | Outreach subdomain | Isolates higher complaint risk |
| Internal testing | Test subdomain | Prevents test traffic polluting production data |
This is general sender hygiene, not a Mailgun-only rule. If a cold campaign gets complaints, you do not want password resets affected by the same sender history.
If you are comparing sending platforms, use the Amazon SES warm-up guide and SendGrid warm-up guide to see how other SMTP providers handle similar reputation issues.
What if Mailgun lands in spam?
Do not keep increasing volume when spam placement rises. Pause, fix and restart at a lower level.
A practical trigger is a 7-day spam rate above 5% for warm-up mail. Pause that sender for a few days, review DNS and logs, then resume below the previous volume.
BobWork marks a mailbox as ready for outbound only after 14+ days warming, a 7-day spam rate of 3% or lower, and at least 30 warm-up emails received. That gate is stricter than “the SMTP test worked,” which is the point.
Use this troubleshooting order:
- Check Mailgun logs for authentication, rejection and bounce events.
- Confirm SPF, DKIM and DMARC pass in public DNS.
- Check whether the Mailgun region host matches the domain region.
- Lower the daily cap and avoid burst sending.
- Remove link-heavy or image-heavy test content.
- Check whether the sending domain appears on a blocklist.
- Stop sending to poor-fit or unverified recipient lists.
Mailgun events help you find hard failures. Inbox checks help you find placement failures. You need both views.
If Gmail is the main problem, use the Gmail spam troubleshooting guide. If the domain itself is new, use the new-domain spam guide before blaming Mailgun.
Content still matters during warm-up. Use plain text, no attachments, no tracking-heavy templates and no aggressive claims. Warm-up is not a way to force bad email into the inbox. It builds a normal sending pattern for a sender that is already configured correctly.
What should you do now?
Use this checklist before you send the first real campaign or production transactional stream through Mailgun.
| Step | Action | How to verify |
|---|---|---|
| 1 | Add a verified Mailgun domain or subdomain | Mailgun shows the domain as verified |
| 2 | Publish SPF and DKIM exactly as Mailgun gives them | Public DNS returns the same values |
| 3 | Add DMARC on the visible From domain | _dmarc.yourdomain.com returns a valid TXT record |
| 4 | Confirm the Mailgun region | SMTP host is smtp.mailgun.org or smtp.eu.mailgun.org as appropriate |
| 5 | Create SMTP credentials | A test SMTP send is accepted by Mailgun |
| 6 | Connect a receiving inbox over IMAP | Warm-up mail can be checked in Inbox and Spam |
| 7 | Check account and domain limits | Mailgun’s limit is higher than your planned ramp |
| 8 | Start at 3 emails/day | First-day sends appear in Mailgun logs |
| 9 | Spread sends through business hours | Logs show no sudden burst pattern |
| 10 | Hold volume when spam rises | 7-day spam rate falls before ramp resumes |
| 11 | Keep cold and transactional streams separate | Each stream uses its own subdomain or route |
| 12 | Keep warm-up during campaigns | Warm-up stays around 10–15/day while real sending runs |
You can run this manually, but it is easy to miss spam placement because Mailgun delivery logs do not show folder placement. A warm-up tool closes that gap by checking the receiving mailbox.
BobWork Email Warm-up is free, has no credit card and no time limit, and supports up to 20 mailboxes per account. For Mailgun, connect SMTP credentials plus an IMAP receiving inbox, then choose the shared warm-up network or a private pool per account. For setup details, start with the Mailgun warm-up guide or review how warm-up networks work.
Frequently asked questions
Can I warm up Mailgun without a receiving inbox?
Not properly. Mailgun can show accepted, delivered, bounced and rejected events, but it does not show whether a message landed in Inbox or Spam. Use a real receiving inbox over IMAP if you want to measure placement.
Should I warm up a Mailgun domain or IP?
Warm the sending domain in every case. If you use a dedicated IP, warm the IP too. On shared IPs, you still need a domain ramp because mailbox providers judge your domain, authentication and recipient engagement.
What SMTP host should I use for Mailgun warm-up?
Use the host for your Mailgun region. The common US SMTP host is smtp.mailgun.org. The EU host is smtp.eu.mailgun.org. Copy the exact hostname from your Mailgun domain settings before connecting a tool.
Can I use Mailgun warm-up for transactional email?
Yes, if the goal is to build reputation before real transactional volume arrives. Keep warm-up traffic separate from real password resets, receipts and alerts. Do not add artificial replies to real transactional threads.
How long does Mailgun warm-up take?
Use about 14 days for an existing healthy domain and 3–4 weeks for a new domain. Dedicated IPs and new high-volume transactional streams can need longer, especially if volume will rise quickly.
Why are Mailgun emails accepted but still in spam?
Accepted means the receiving server took the message. It does not guarantee inbox placement. Spam placement can come from weak authentication, a cold domain, poor recipient fit, complaints, link reputation or sudden volume jumps.
Warm up your mailboxes free
Connect Gmail, Google Workspace, Zoho or Lark. Your mailboxes warm on a shared network, or in a private pool of your own, starting today.