#!/usr/bin/env bash # mx_lookup.sh - MX record lookup functions for exitrace # Maintainer: ljp # MX record lookup with A/AAAA resolution show_mx_records() { local domain="$1" if ! command -v dig >/dev/null 2>&1; then echo "(Hinweis) dig nicht gefunden, MX-Ausgabe übersprungen." >&2 return 1 fi echo "== MX für ${domain} ==" dig +short MX "$domain" | sort -n || { echo "Fehler: MX-Abfrage für $domain fehlgeschlagen" >&2 return 1 } echo "-- A/AAAA der MX:" while read -r mx; do [[ -n "$mx" ]] || continue local host="${mx#* }" printf "%-35s | " "$host" # A records local a_records a_records="$(dig +short A "$host" 2>/dev/null | paste -sd, -)" printf "%s" "${a_records:-"-"}" printf " | " # AAAA records local aaaa_records aaaa_records="$(dig +short AAAA "$host" 2>/dev/null | paste -sd, -)" printf "%s\n" "${aaaa_records:-"-"}" done < <(dig +short MX "$domain" | sort -n) echo "========================================================================" } # Built with the help of Claude Code