s6-dns: the s6-dnsmx program
Keywords: s6-dns client s6-dnsmx dnsmx domain name mx mail exchanger

s6-dns
Software
skarnet.org

# The s6-dnsmx program

s6-dnsmx finds the MX information associated to a domain name.

## Interface

         s6-dnsmx [ -q ] [ -r ] [ -t timeout ] domain

- s6-dnsmx makes an MX query for the name domain. It waits for the result and prints the obtained information, one exchanger per line, then exits 0. It prints the preference, then a space, then the exchanger name.
- If the domain exists but no relevant field has been found, it exits 1.
- If the DNS answered but no answer is available, it prints a relevant error message and exits 2.
- By default, s6-dnsmx looks for DNS cache addresses in the `/etc/resolv.conf` file. If the DNSCACHEIP environment variable is set and contains a list of IP (v4 or v6) addresses, separated by commas, semicolons, spaces, tabs, newlines or carriage returns, then this list is used instead.

## Options

- `-q` : qualify. Qualifies domain before resolution, according to suffixes found in `/etc/resolv.conf`. If the DNSQUALIFY environment variable is set and contains a list of suffixes separated by spaces, tabs, newlines or carriage returns, then this list is used instead. By default, no qualification is used: if domain is not a FQDN, a dot is just appended to it.
- `-r` : random. By default, the program does not sort the result, but prints them in the order received from the DNS. With this option, it performs a random permutation on the results before printing them.
- `-t` timeout : if the resolution takes more than timeout milliseconds, then it exits 99 right away with an error message. By default, timeout is 0, which means no timeout.