[email protected] looks more professional than a free webmail address, and keeps your email portable if you change providers. There are two main ways to get it: a hosted email service, or your own mail server on a VPS. They differ a lot in effort and in deliverability. Here’s how to decide, and how to set up the DNS either way.

Providers such as Google Workspace, Microsoft 365, Zoho Mail, Fastmail, Proton and Migadu host mailboxes for your domain. You:

  1. sign up and verify the domain (usually a TXT record);
  2. add their MX records (where mail is delivered);
  3. add their SPF, DKIM and DMARC records (authentication).

They handle spam filtering, deliverability, storage, webmail, mobile apps and security. Your websites stay on the VPS: the A record and MX records are independent.

Option 2: self-hosted mail server on a VPS

Running your own Postfix + Dovecot (or an all-in-one like Mailcow, Mail-in-a-Box or Stalwart) gives full control and unlimited mailboxes. It also requires:

  • outbound port 25 open (many providers block it by default);
  • a clean IP address with no spam history;
  • a PTR (reverse DNS) record matching your mail hostname;
  • correct SPF, DKIM and DMARC;
  • ongoing maintenance: updates, spam filtering, blocklist monitoring, backups.

On VPS.DO, outbound mail and PTR records are supported on USA VPS plans, and you can set PTR in the client area. See email VPS, Mail-in-a-Box, and Postfix and Dovecot.

Comparison

Hosted email Self-hosted
Setup time Minutes Hours, plus learning
Deliverability Excellent out of the box Depends on IP reputation and configuration
Spam filtering Included You configure it (Rspamd, SpamAssassin)
Cost Per mailbox per month VPS cost; unlimited mailboxes
Maintenance None Updates, monitoring, backups
Privacy / control Provider’s terms Full control

DNS records you need (either option)

Record Example Purpose
MX @ MX 10 mail.example.com (or the provider’s hosts) Where incoming mail goes
SPF (TXT) v=spf1 include:_spf.provider.com -all Which servers may send for your domain
DKIM (TXT) selector._domainkey → public key Cryptographic signature of outgoing mail
DMARC (TXT) _dmarc → v=DMARC1; p=quarantine; rua=mailto:[email protected] Policy for failed checks, and reports
A mail → server IP Only for self-hosted servers
PTR IP → mail.example.com Set at the hosting provider (self-hosted)

Use one SPF record per domain, combining all senders (include: for your mailbox provider and your transactional email service). See SPF, DKIM and DMARC and DNS records explained.

Sending email from websites and apps

Contact forms, password resets and order confirmations shouldn’t rely on the VPS’s local mail() function. Use:

  • a transactional email service (Amazon SES, Postmark, Mailgun, Brevo and others) via SMTP or API. See transactional email services;
  • or your mailbox provider’s SMTP (low volume only).

Add that service to your SPF and DKIM records. See WordPress email and SMTP.

Check your setup

  • Send a test to an online checker (for example mail-tester.com), and aim for 9–10/10.
  • dig +short MX example.com, dig +short TXT example.com, dig +short TXT _dmarc.example.com.
  • Read DMARC reports for a few weeks, then tighten the policy (p=quarantine → p=reject).

See email deliverability.

Quick reference

Situation Recommendation
Business mailboxes Hosted email
App/website email Transactional email service
Full control, many mailboxes, skills to maintain Self-hosted on a USA VPS with PTR
Must-have DNS MX, SPF, DKIM, DMARC

Related: point a domain to a VPS and SMTP ports.

  • Email
  • DNS
  • VPS Guide