How to turn your VPS into an email sending server
To turn a VPS into an email sending server you need a host that allows outbound port 25, a domain, a mail hostname with matching reverse DNS, and SPF, DKIM and DMARC records. Install an MTA such as TurboMTA, send test mail, then warm the IP up gradually before you raise volume.
Get free setup help See pricing
Before you start: what you need
- A VPS or PC with a static public IPv4 address (a dedicated IP, not shared NAT).
- Outbound port 25 open. Many providers block it by default; see our guide on getting it unblocked.
- A domain you control and can edit DNS for, and a hostname for the mail server such as mail.example.com.
- At least 2 GB of RAM is what we recommend for TurboMTA; more for large queues.
- Recipients who have opted in. Our acceptable-use policy applies to every licence.
Step 1. Choose the server and check port 25
Pick a provider that documents port 25 as open or will unblock it on request, and ask for a clean IP with no blocklist history. From the VPS, test a connection to a public mail server on port 25 before you buy anything else.
If port 25 cannot be opened, you can still use TurboMTA behind a relay on ports 587 or 465, but direct delivery from your own IP is what gives you full control.
Step 2. Set the DNS records
| Record | Name (example) | Example value | Why it matters |
|---|---|---|---|
| A | mail.example.com | 203.0.113.10 | The hostname your server announces |
| PTR (reverse DNS) | 203.0.113.10 | mail.example.com | Set in your provider's panel; must match the A record |
| SPF (TXT) | example.com | v=spf1 ip4:203.0.113.10 -all | Lists the IPs allowed to send for the domain |
| DKIM (TXT) | selector1._domainkey.example.com | v=DKIM1; k=rsa; p=... | Public key that proves messages were signed by you |
| DMARC (TXT) | _dmarc.example.com | v=DMARC1; p=none; rua=mailto:dmarc@example.com | Tells receivers what to do and where to send reports |
Use documentation placeholders below and replace them with your own values. Allow time for DNS to propagate before you test.
Step 3. Install TurboMTA and add a sending identity
TurboMTA runs on Linux (systemd, DEB and RPM packages) and Windows. After installing, you create a VirtualMTA for your IP and hostname, generate a DKIM key for your sending domain, and create an SMTP user or API key for your application. Free setup is included: share SSH access in a ticket and we do this with you.
Use the real-time dashboard to watch the queue and delivery state from the first message.
Step 4. Send test mail and read the headers
Send to a test inbox you control and open the original message headers. You want to see spf=pass, dkim=pass and dmarc=pass. If any fail, fix DNS before you send to real recipients.
- Check that the HELO name, PTR and A record all match.
- Check the IP is not on a major blocklist before you start.
- Start with a small, engaged list, not your whole database.
Step 5. Warm up, then scale
A new IP has no reputation. Start at a few dozen emails a day and raise the volume gradually while bounces and complaints stay low. Use per-domain rate limits so Gmail, Yahoo and Outlook each get a pace they accept. Our warm-up schedule gives a conservative starting plan.
Step 6. Monitor and keep the list clean
- Watch bounces, deferrals and the suppression list in the dashboard and remove hard bounces immediately.
- Add a one-click unsubscribe header to marketing mail and honour requests quickly.
- Read your DMARC reports to spot anyone spoofing your domain.
Keep reading
- Port 25 blocked: how to get it unblocked: What to test and what to ask your provider.
- IP warm-up schedule: The next step after the first test message.
- Gmail and Yahoo bulk sender rules: What big mailbox providers expect.
- Free setup on your VPS: We configure TurboMTA with you over SSH.
Frequently asked questions
Do I need an SMTP relay or can I send directly from my VPS?
You can send directly if your VPS provider allows outbound port 25 and you set up reverse DNS, SPF, DKIM and DMARC. If port 25 is blocked and cannot be unblocked, you either change provider or relay through another service on port 587 or 465. TurboMTA works for both.
Does it handle SPF, DKIM and DMARC?
TurboMTA signs mail with DKIM and guides you through the SPF, DMARC and reverse-DNS (PTR) records that mailbox providers expect. DNS changes are made by you or, with the free setup, through a support ticket. Correct records improve deliverability but never guarantee it.