How to use Nullhex
1. Get a DNS record
We do not support anything besides custom domains, because we want our users to have authority over their email routing, and because custom domains are cool af.
I recommend using njal.la for domain purchasing. But use whatever you like!
For the sake of example, lets pretend we have purchased "garbage.gov"
2. Set up all of them pesky records
Here's the BIND representation of what you need to do. The exact steps will differ between DNS providers.
garbage.gov. 3000 IN MX 10 smtp-in-1.nullhex.com.
garbage.gov. 3000 IN MX 20 smtp-in-2.nullhex.com.
garbage.gov. 3000 IN TXT "v=spf1 a mx ~all"
key1._domainkey.garbage.gov. 3000 IN CNAME key1.nullhex.com.
_dmarc.garbage.gov. 3000 IN TXT "v=DMARC1; p=quarantine;"
autoconfig.garbage.gov. 3000 IN CNAME autoconfig.nullhex.com.
_autodiscover._tcp.garbage.gov. 3000 IN SRV 0 1 443 autodiscover.nullhex.com.
_submissions._tcp.garbage.gov. 3000 IN SRV 0 1 465 smtp.nullhex.com.
_imaps._tcp.garbage.gov. 3000 IN SRV 0 1 993 imap.nullhex.com.
3. Test your records
Use our testing script to check whether things are kosher:
#!/bin/sh
if [ -z "$1" ]; then
echo "error: domain missing (nullhex.com)"
exit 1
fi
domain="$1"
errors=""
dig +short MX "$domain" | grep -q 'smtp-in-1.nullhex.com' || errors="smtp-in-1.nullhex.com record not found"
dig +short MX "$domain" | grep -q 'smtp-in-2.nullhex.com' || errors="$errors\nsmtp-in-2.nullhex.com record not found"
dig +short TXT "$domain" | grep -q '^"v=spf1 a mx ~all"$' || errors="$errors\nspf record not found"
dig +short CNAME "key1._domainkey.$domain" | grep -q 'key1.nullhex.com' || errors="$errors\nkey1._domainkey.$domain record not found"
dig +short TXT "_dmarc.$domain" | grep -q '^"v=DMARC1; p=quarantine;"$' || errors="$errors\ndmarc TXT record is missing"
dig +short SRV "_autodiscover._tcp.$domain" | grep -q '443 autodiscover.nullhex.com.' || errors="$errors\nautodiscover SRV record is missing"
dig +short SRV "_imaps._tcp.$domain" | grep -q '993 imap.nullhex.com.' || errors="$errors\nimap SRV record is missing"
dig +short SRV "_submissions._tcp.$domain" | grep -q '465 smtp.nullhex.com.' || errors="$errors\nsmtp SRV record is missing"
dig +short CNAME "autoconfig.$domain" | grep -q 'autoconfig.nullhex.com.' || errors="$errors\nautoconfig CNAME record is missing"
if [ ! -z "$errors" ]; then
echo "$errors"
exit 1
else
echo "success! u are redy"
fi
4. Set up an account
Email ops@cyberia.club and tell us:
- that you're ready for onboarding
- which email address(es) you'd like to have, initially
- we will respond!
(c) Attribution-ShareAlike 4.0 International
Cyberia Computer Club 2020-∞