Skip to content

Namecheap DNS for openagent.email

Start from the values printed by ./deploy/dns-records.sh. This page maps those A, MX, SPF, DKIM, and DMARC records into Namecheap Advanced DNS. Do not invent IPs or DKIM material — paste what the script prints. PTR is not a Namecheap DNS record; set it at the VPS host.

The generic record meanings live in DNS setup.

No live Namecheap account or DNS mutation was performed for this content card. Dashboard names and mail-mode behavior were checked against current official Namecheap documentation, not against a live dashboard session.

This flow applies only when the domain uses BasicDNS, PremiumDNS, or FreeDNS (Namecheap’s nameservers). If the domain uses custom DNS at Cloudflare or Route 53, use that provider’s page instead.

In Advanced DNS, set Mail Settings to Custom MX. Email Forwarding, Private Email, and other Namecheap mail modes can replace or discard custom MX records. Turn those modes off before pasting the script’s MX.

Namecheap’s Host field omits the zone suffix. Apex host is @. DKIM host is the relative mail._domainkey, not a duplicated full zone.

Open Domain List → Manage → Advanced DNS. MX records and TXT / SPF / DKIM / DMARC use Type, Host, Value, and TTL. TTL 300 is fine while you iterate.

Assume the script printed records for example.com / mail.example.com. Substitute your DOMAIN and paste the script’s values.

Script recordTypeHostValueextra
mail.example.com. A <IPv4>A Recordmailthe IPv4 from the script
mail.example.com. AAAA <IPv6>AAAA Recordmailthe IPv6 from the script, only if IPv6 works end to end
example.com. MX 10 mail.example.com.MX Record (Custom MX)@mail.example.comPriority 10
example.com. TXT "v=spf1 mx ~all"TXT Record@v=spf1 mx ~allone SPF TXT only
mail._domainkey.example.com. TXT "v=DKIM1; …"TXT Recordmail._domainkeythe exact DKIM string the script printedHost stays relative
_dmarc.example.com. TXT "v=DMARC1; …"TXT Record_dmarcthe exact DMARC string the script printed

Host @ is the apex. Host mail becomes mail.example.com. Host mail._domainkey becomes mail._domainkey.example.com. Pasting a full zone into Host makes Namecheap append the zone a second time.

If DKIM is not generated yet, boot the stack once and re-run ./deploy/dns-records.sh. Do not invent a p= value. Do not add AAAA unless IPv6 works end to end.

dns-records.sh prints reverse DNS as SERVER_IP -> mail.DOMAIN. Create that at Hetzner / DigitalOcean / Vultr / AWS, not in Advanced DNS.

Terminal window
./deploy/doctor.sh
dig @1.1.1.1 +short A mail.example.com
dig @1.1.1.1 +short MX example.com
dig @1.1.1.1 +short TXT example.com
dig @1.1.1.1 +short TXT mail._domainkey.example.com
dig @1.1.1.1 +short TXT _dmarc.example.com

Replace example.com with your DOMAIN. Check against a public resolver, not only Namecheap’s preview. doctor.sh does not log in over IMAP/SMTP or send a round-trip message.