# How to use nullhex ## 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" ## 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. ``` ## 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 ``` ## 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! ## Login Login at https://mail.nullhex.com!