#!/bin/sh
# smtp --- connect to smtp servers
# Author: Noah Friedman <friedman@splode.com>
# Created: 1995-04-15
# Public domain

# $Id: smtp,v 1.13 2002/06/20 08:54:49 friedman Exp $

case $1 in
  # Skip mx resolution for some names.
  localhost ) : ;;
  * )
    mx=`dig "$1" mx \
          | sed -n -e '
             /^;; ANSWER/{
               :l
               n
               /^;;/q
               /^'"$1"'\..*MX/!b l
               s/.*MX[ 	]*//
               s/\.$//
               p
               b l
             }' \
          | sort -n \
          | sed -e 's/.*[ 	]//'`
   ;;
esac

case `echo $mx` in
  '' )
    exec tcpconnect -v "$1" "${2-smtp}"
   ;;
  *' '* )
    for addr in $mx; do
       tcpconnect -v "$addr" "${2-smtp}"
       e=$?
       case $e in
         2 ) : ;; # means connection refused
         * ) exit $e ;;
       esac
    done
    exit $e
   ;;
  * )
    exec tcpconnect -v "$mx" "${2-smtp}"
   ;;
esac

# smtp ends here
