Frequently asked questions
A self-hosted email server sends your app and business mail from your own VPS with no per-email fees, and it beats hosted APIs on cost roughly above 200,000 emails a month. Below that, it's mainly about control: your own IP, your data, and as many domains as you like.
Self-hosted email basics
What is a self-hosted email server?
A self-hosted email server is a mail server you run on your own VPS instead of renting sending from a provider like Resend or SendGrid. It typically uses Postfix to send and receive mail, signs messages with DKIM, encrypts connections with TLS, and publishes SPF, DMARC and reverse DNS records. Your applications connect to it over SMTP, and there are no per-email fees.
What software does a self-hosted email server run?
Our standard build is Postfix for sending and receiving, OpenDKIM for DKIM signing with 2048-bit keys, postsrsd for SRS so forwarded mail still passes SPF, Dovecot as the SASL authentication backend, fail2ban to block brute-force logins, and Let's Encrypt certificates via certbot with a hook that reloads Postfix. It runs on an Ubuntu LTS VPS. See the Postfix on Ubuntu guide for details.
Which VPS providers can I use for a mail server?
Most mainstream VPS providers work, such as OVH, Hetzner, Vultr or Linode, as long as two things are true: the provider allows outbound port 25 and lets you set reverse DNS (PTR) for your IP. Policies differ and change, so check with your provider before building. In our own setup, an OVH VPS allowed port 25 out of the box. A VPS typically costs $5–20 a month.
Why is outbound port 25 blocked on my cloud server?
Many cloud and VPS providers block outbound port 25 by default to stop spam from compromised or abused machines. AWS blocks it by default and removes the block on request; some other providers lift it on request or after your account has some history. Without port 25 your server can't deliver mail directly to Gmail or Outlook, so confirm your provider's policy before you build.
Can my app send through a self-hosted server the same way it uses SendGrid?
Yes, if your app sends over SMTP. Your app connects to your own server on port 587 with STARTTLS and a username and password (SASL), just as it would connect to SendGrid's or Resend's SMTP relay. We also configure Postfix so each login can only send as its own address, which limits the damage if one app's credentials leak.
Can one self-hosted server send for multiple domains?
Yes. One Postfix server can send for many domains, each with its own DKIM key and DNS records. Our own server sends for three production domains. With more than one IP, Postfix can also choose a different outbound IP per sender domain, which keeps one domain's reputation separate from another's. There are no extra per-domain fees on a server you run.
Does a self-hosted email server include staff mailboxes?
Not by default. Our standard setup is for sending application and business mail and forwarding inbound mail to inboxes you already use, such as Gmail. It doesn't run IMAP or webmail. If you need full mailboxes on your own server, software like Mailcow or Stalwart can provide them, and that's something we can discuss installing as a separate project.
What DNS records does a self-hosted mail server need?
You need an A record for the mail host, an MX record, an SPF record listing your server's IP (for example v=spf1 ip4:<ip> -all), a DKIM public key in a TXT record at selector._domainkey, a DMARC record, and a PTR (reverse DNS) record set at your VPS provider that matches a hostname resolving back to the same IP. Our SPF guide covers the first step.
Can a self-hosted server receive email too?
Yes. Inbound mail for your domain can be delivered to the server and forwarded to existing inboxes using Postfix virtual aliases. Forwarding normally breaks SPF at the destination, so we use SRS (via postsrsd) to rewrite the envelope sender. DMARC aggregate reports can go to a local mailbox on the server. This can replace inbound routing services like Mailgun's for simple forwarding.
Cost and pricing
How much does a self-hosted email server cost?
With OwnMailServer, Server Setup is $499 one-time and you run the server yourself afterwards. Managed Server is $499 setup plus $99 a month for monitoring, updates, fixes and support. In both cases you also pay for your own VPS, typically about $5–20 a month at providers like OVH, Hetzner, Vultr or Linode. There are no per-email fees. Full details are on our pricing page.
Is self-hosted email cheaper than Resend or SendGrid?
At high volume, yes; at low volume, no. As of October 2026, Resend and SendGrid charge about $20–35 a month for up to 100,000 emails, which is less than a managed server at about $99 a month plus a VPS. The managed option becomes cheaper roughly above 200,000 emails a month. Confirm current competitor prices on their pricing pages.
At what email volume does self-hosting pay for itself?
For a managed self-hosted server at about $99 a month plus a VPS, roughly above 200,000 emails a month, compared with hosted API prices as of October 2026. A one-time Server Setup that you run yourself has no monthly fee beyond the VPS, so it can pay back sooner if you have the skills to maintain it. Try your own numbers in the email cost calculator.
How much does a VPS for an email server cost?
Typically about $5–20 a month at providers like OVH, Hetzner, Vultr or Linode. There's no fixed figure, because it depends on the provider, region and size. A small VPS is enough for most transactional sending; very high volumes may call for a larger machine or extra IPs. The VPS is in your name and paid directly by you, not through us.
Are there per-email fees on a self-hosted server?
No. A self-hosted server has no per-email or per-contact charges, so your cost doesn't rise with every signup, receipt or password reset. You pay for the VPS, typically $5–20 a month, plus either our $499 one-time Server Setup or our Managed Server plan at $499 setup and $99 a month. Sending more mostly costs warm-up time, not money.
How much does Resend cost?
As of October 2026, Resend's free plan covers 3,000 emails a month with a 100-per-day cap. Pro costs $20 a month for 50,000 or $35 for 100,000, with overage around $0.90 per 1,000. Scale runs from $90 for 100,000 to $160 for 200,000, $350 for 500,000, and up to $1,150 for 2.5 million. Confirm on Resend's pricing page. See our Resend pricing breakdown.
How much does SendGrid cost?
As of October 2026, SendGrid offers a 60-day free trial at 100 emails a day, Essentials at $19.95 a month for 50,000 or $34.95 for 100,000 on shared IPs, and Pro from $89.95 for 100,000 with a dedicated IP, up to about $1,099 for 2.5 million. Premier above that is custom. Confirm on SendGrid's pricing page, or read our SendGrid pricing breakdown.
Is Amazon SES cheaper than a self-hosted server?
On sending fees, SES is very cheap: $0.10 per 1,000 emails as of October 2026, so 500,000 emails costs about $50. But you build bounce handling, suppression lists and dashboards yourself, and AWS controls your account through its sandbox, sending limits and the ability to pause sending over complaints. A self-hosted server costs a VPS plus setup, and you set the policies. Confirm on AWS's SES pricing page.
How much does a dedicated IP cost at email providers?
As of October 2026: Amazon SES charges $24.95 per standard dedicated IP per month, Mailchimp Transactional about $29.95, and Mailgun about $59–60 as an add-on. SendGrid includes one on Pro plans from $89.95 a month. A self-hosted server sends from its VPS's own IP with no add-on fee. Confirm current prices on each vendor's pricing page.
Switching from Resend, SendGrid and others
How do I switch from Resend to my own email server?
Build and verify the new server first, publish its DNS records, then change your app's SMTP settings to point at it on port 587 with a username and password. Keep Resend configured as a fallback until the new server has warmed up. We did exactly this for our own domains in August 2026; the Resend migration guide walks through each step.
Do I need to rewrite my code to leave SendGrid?
Usually not, if your app already sends over SMTP: you change the host, port, username and password. If your code calls SendGrid's web API directly, you'll need to switch that call to SMTP or to a mail library that supports both. Putting the SMTP settings in environment variables makes the change, and any rollback, a configuration edit rather than a deploy.
Can I keep my old email provider as a backup?
Yes, and we recommend it. Leave the old provider's account and credentials in place and make the new server selectable by configuration. In our own migration, a blank SMTP host environment variable meant the app fell back to the old provider. That turns rollback into a one-line change if anything goes wrong during warm-up.
Will switching email providers cause downtime?
It shouldn't, if you add the new path before removing the old one. Build and test the new server, publish DNS records, switch your app by configuration, and keep the old provider as a fallback. Inbound mail needs care when you change MX records, so plan that change and test delivery to each forwarded address afterwards. Our email migration service handles this for you.
How long does warm-up take after switching to a new server?
Plan for 2–6 weeks. Start at tens of emails a day, increase gradually, and send to engaged recipients first. A new IP and a new or dormant domain have no sending reputation, so mailbox providers are cautious at first, even when SPF, DKIM and DMARC all pass. We kept volume low for about two weeks on our own migration. See the IP warm-up guide.
Can I replace Mailgun inbound routes with my own server?
For forwarding, yes. Postfix virtual aliases can forward each address on your domain to an existing inbox like Gmail, with SRS rewriting the envelope sender so SPF still passes at the destination. That's how we replaced Mailgun inbound for our own domains. If you rely on Mailgun parsing inbound mail into webhooks for your app, that part needs a separate replacement.
Can I move off Postmark or Mailchimp Transactional too?
Yes. Any provider you reach over SMTP can be replaced the same way: build your own server, publish DNS, switch your app's SMTP settings and keep the old provider as a fallback during warm-up. Postmark is known for a transactional-only focus and fast delivery, so weigh what you'd give up. See our Postmark alternative page for a fuller comparison.
Are there open-source alternatives to Resend?
Yes. Plunk (AGPL-3.0) and useSend (AGPL-3.0, formerly Unsend, built on SES) both have hosted versions. FreeResend (MIT) offers a Resend-compatible API on top of SES, Reloop (Apache 2.0) is newer, and Postal (MIT) is a full self-hosted mail platform with its own SMTP. Mailcow and Stalwart handle self-hosted mailboxes. See open-source Resend alternatives.
Should I switch if I send fewer than 100,000 emails a month?
Not for cost alone. As of October 2026, Resend and SendGrid cost about $20–35 a month at that volume, which is less than a managed self-hosted server. Switch if you want your own IP, your data on your own server, or many domains on one bill. If your actual problem is mail landing in spam, fixing authentication on your current provider may be all you need.
Deliverability
Why do my emails go to spam even though SPF and DKIM pass?
Authentication proves who sent a message, not that recipients want it. A new IP or a new or dormant domain has no reputation, so Gmail may filter it at first. On our own server's first day, one domain's test landed in the inbox and a near-identical one from another domain went to spam, with everything passing. Gradual, engaged sending fixes this. See why emails go to spam.
What are SPF, DKIM and DMARC?
SPF is a DNS record listing which servers may send mail for your domain. DKIM adds a cryptographic signature to each message, verified with a public key published at selector._domainkey; 2048-bit keys are recommended. DMARC tells receivers what to do when mail fails these checks and where to send aggregate reports. Gmail and Yahoo require all three for bulk senders.
Which DMARC policy should I use?
Start with p=none and an rua address so you receive aggregate reports and can see every service sending as your domain. Once all legitimate mail passes and aligns, move to p=quarantine, then p=reject. Gmail and Yahoo require at least p=none for bulk senders. Our own domains run p=quarantine with strict alignment. The DMARC none to reject guide explains the steps.
What is reverse DNS and why does it matter for email?
Reverse DNS, a PTR record, maps your sending IP back to a hostname. For good deliverability that hostname must also resolve forward to the same IP, which is called forward-confirmed reverse DNS (FCrDNS), and ideally match your server's HELO name. Many receivers distrust mail from IPs without it. Your VPS provider sets the PTR. See our reverse DNS guide.
What are Gmail and Yahoo's bulk sender requirements?
Since February 2024, Gmail and Yahoo require bulk senders, roughly 5,000 or more messages a day to Gmail, to publish SPF and DKIM, have a DMARC policy of at least p=none, use an aligned From domain, offer one-click unsubscribe (RFC 8058) on marketing mail, and keep spam complaints under 0.3%, ideally under 0.1%. Our bulk sender requirements guide covers each point.
What is the SPF 10 DNS lookup limit?
SPF allows at most 10 DNS lookups while evaluating a record. Mechanisms like include, a, mx, ptr, exists and redirect each count. If your record exceeds the limit, SPF returns a permerror and can fail. You're also allowed only one SPF record per name. Adding several email services' includes is the usual cause. See fixing too many SPF lookups.
My blocklist checker says Spamhaus lists my IP. Is that real?
Possibly not. Spamhaus refuses queries that come through public DNS resolvers and answers them with 127.255.255.x return codes, which naive blocklist checkers misread as a listing. Check through your own resolver or Spamhaus's own lookup before acting. We ran into this false positive while verifying our own server. Our free email checker is a good place to start.
Is a UCEPROTECT level 3 listing a problem?
Usually not on its own. UCEPROTECT level 3 lists entire provider networks, for example all of OVH, rather than your specific IP. It doesn't mean your server sent spam. What matters is whether your own IP appears on major blocklists and how mailbox providers like Gmail treat your mail. We saw this listing on our own OVH server and it wasn't a real listing of our IP.
Can you guarantee my emails will reach the inbox?
No, and nobody honestly can. Inbox placement is decided by each mailbox provider based on authentication, reputation, content and recipient engagement. What we can do is make sure SPF, DKIM, DMARC and reverse DNS are correct, check blocklists, set up a sensible warm-up, and monitor for problems. That removes the technical reasons mail goes to spam; the rest depends on sending mail people want.
Our service
What are the OwnMailServer Scale plans?
Scale plans are dedicated email sending for businesses that send 250,000 to 1,000,000 emails a month: your own mail server and dedicated IP, a Resend-style API and SMTP, managed warm-up and daily deliverability monitoring. Scale 250k is $149 a month, Scale 500k $249 and Scale 1M $399 with two IPs. They're in early access; see high-volume email sending.
How do I join early access for the Scale plans?
Email hello@ownmailserver.com with your website, sending domain, current provider and rough monthly volume. We'll check fit, verify your domain and plan your warm-up. You don't pay until your server is live. If you send under about 200,000 emails a month, we'll tell you honestly that a hosted API is likely the better choice.
What does the OwnMailServer Deliverability Fix include?
The Deliverability Fix is $199 one-time. We audit and fix SPF, DKIM, DMARC and PTR records for one domain on whatever email provider you use now, whether that's Resend, SendGrid, Mailgun or your own server. You get a written report of what we found and changed, plus inbox tests. It's the right plan if you don't want to move providers. See deliverability fix.
What does the OwnMailServer Server Setup plan include?
Server Setup is $499 one-time. We build your own mail server on your VPS with Postfix, OpenDKIM, SRS, TLS and fail2ban, publish the DNS records, set up DMARC reporting, and give you a warm-up plan and a written runbook. After handover you run the server yourself. You pay for the VPS directly, typically $5–20 a month. Details are on the pricing page.
What does the OwnMailServer Managed Server plan include?
Managed Server is $499 setup plus $99 a month. It includes everything in Server Setup, plus daily monitoring of DNS drift, blocklists, TLS certificate expiry, the mail queue and DMARC reports, along with updates, fixes, support and a monthly report. Your VPS, typically $5–20 a month, is billed to you directly by the provider. Read more about the managed email server.
How long does it take to set up a self-hosted email server with OwnMailServer?
As an estimate, setup is usually done within a week once DNS access is shared, along with access to your VPS. The build itself is the quick part; waiting on DNS changes, reverse DNS from your VPS provider or a port 25 unblock request can add time. After setup, plan for a 2–6 week warm-up before sending at full volume. Email hello@ownmailserver.com to get started.
Who owns the email server OwnMailServer sets up?
You do. The server runs on a VPS in your own account at your chosen provider, the domains and DNS stay yours, and you pay the VPS provider directly. We work with access you grant, on both the Server Setup and Managed Server plans. Nothing about your sending infrastructure is locked to OwnMailServer, which is the point of self-hosting.
What happens if I stop using OwnMailServer?
You keep everything: the server, its configuration, your DKIM keys, your DNS records and the written runbook that explains how it all works and how to maintain it. If you're on the Managed Server plan, the $99 monthly fee simply stops and you run the server yourself or hand it to someone else. There's no migration needed, because the server was always yours.
Do I need to switch providers to work with OwnMailServer?
No. The Deliverability Fix ($199 one-time) works with whatever you use now, including Resend, SendGrid, Mailgun or Postmark. Only the Server Setup and Managed Server plans involve building your own server. If you're unsure which fits, describe your setup to hello@ownmailserver.com and we'll tell you honestly whether moving makes sense.
How do I get started with OwnMailServer?
Email hello@ownmailserver.com or use the contact page with your domains, roughly how much mail you send each month, and which provider you use now. We'll recommend a plan, which may be staying on your current provider if that's cheaper for you. For a server build, you'll then create a VPS in your own account and share access to it and your DNS.
Didn't find your answer?
Email hello@ownmailserver.com and we'll answer it, and probably add it here.