]> diplodocus.org Git - nmh/blobdiff - test/mhmail/test-mhmail
Editing of man/prev.man.
[nmh] / test / mhmail / test-mhmail
index fdb361758136a5a44bd1c5031d5c77d538075eb3..2e7375f0b6e087f9e9dae3542bdcd99bdca86c00 100755 (executable)
@@ -14,39 +14,37 @@ fi
 
 . "${srcdir}/test/post/test-post-common.sh"
 
 
 . "${srcdir}/test/post/test-post-common.sh"
 
+# Find MIME type string, using configured procs if available.
+MIMETYPEPROC=`mhparam mimetypeproc`
+MIMEENCODINGPROC=`mhparam mimeencodingproc`
+content_type_string() {
+  if test -z "$MIMETYPEPROC"  -o  -z "$MIMEENCODINGPROC"; then
+    #### This should be the order of name and charset.
+    echo "text/plain; name=\"`basename $1`\"; charset=\"us-ascii\""
+  else
+    #### Excise any leading filename followed by : and whitespace.
+    printf '%s; charset="%s"; name="%s"' \
+      `$MIMETYPEPROC $1 | sed -e 's/.*: *//'` \
+      `$MIMEENCODINGPROC $1 | sed -e 's/.*: *//'` `basename $1`
+  fi
+}
+
 # Customize test_post () for use with mhmail.
 # $1 is expected output file, provided by caller
 # $2 is mhmail switches, except for -body
 # $3 of -b signifies use -body switch, | signifies provide body on stdin
 # Customize test_post () for use with mhmail.
 # $1 is expected output file, provided by caller
 # $2 is mhmail switches, except for -body
 # $3 of -b signifies use -body switch, | signifies provide body on stdin
-# $4 contains message body.  When using stdin, can contain printf(1) format
-#    specifiers.
+# $4 contains the message body.
 test_mhmail ()
 {
 test_mhmail ()
 {
-    "${MH_OBJ_DIR}/test/fakesmtp" "$actual" $localport &
-    pid="$!"
-
-    # The server doesn't always come up fast enough, so sleep and
-    # retry a few times if it fails...
-    status=1
-    for i in 0 1 2 3 4 5 6 7 8 9; do
-        if [ $3 = '|' ]; then
-          if printf "$4" | mhmail recipient@example.com $2 \
-             -server 127.0.0.1 -port $localport; then
-              status=0
-              break
-          fi
-        else
-          if mhmail recipient@example.com $2 -body "$4" \
-             -server 127.0.0.1 -port $localport; then
-              status=0
-              break
-          fi
-        fi
-        sleep 1
-    done
-    [ $status -eq 0 ] || exit 1
-
-    wait ${pid}
+    pid=`"${MH_OBJ_DIR}/test/fakesmtp" "$actual" $localport`
+
+    if [ $3 = '|' ]; then
+       printf '%s' "$4" | mhmail recipient@example.com $2 \
+                       -server 127.0.0.1 -port $localport
+    else
+       mhmail recipient@example.com $2 -body "$4" \
+             -server 127.0.0.1 -port $localport
+    fi
 
     #
     # It's hard to calculate the exact Date: header post is going to
 
     #
     # It's hard to calculate the exact Date: header post is going to
@@ -90,16 +88,17 @@ Usage: mhmail [-t(o)] addrs ... [switches]
   mhmail with no arguments is equivalent to inc
 EOF
 
   mhmail with no arguments is equivalent to inc
 EOF
 
-mhmail -help >$actual 2>&1
-check $expected $actual
+#### Skip nmh intro text.
+mhmail -help | sed '/^$/,$d' >"$actual" 2>&1
+check "$expected" "$actual"
 
 
 # check -version
 # Verified same behavior as compiled mhmail.
 case `mhmail -v` in
   mhmail\ --*) ;;
 
 
 # check -version
 # Verified same behavior as compiled mhmail.
 case `mhmail -v` in
   mhmail\ --*) ;;
-  *           ) echo "$0: mhmail -v generated unexpected output" 1>&2
-                failed=`expr ${failed:-0} + 1`;;
+  *          ) printf '%s: mhmail -v generated unexpected output\n' "$0" >&2
+               failed=`expr ${failed:-0} + 1`;;
 esac
 
 # check for missing argument to switches that require them
 esac
 
 # check for missing argument to switches that require them
@@ -121,24 +120,22 @@ done
 # That will just run inc, which we don't want to do anything,
 # so tell inc to just display its version.
 # Verified same behavior as compiled mhmail.
 # That will just run inc, which we don't want to do anything,
 # so tell inc to just display its version.
 # Verified same behavior as compiled mhmail.
-printf "inc: -version\n" >> $MH
+printf 'inc: -version\n' >> $MH
 case `mhmail` in
   inc\ --*) ;;
 case `mhmail` in
   inc\ --*) ;;
-  *           ) echo "$0: mhmail generated unexpected output" 1>&2
+  *           ) echo "$0: mhmail generated unexpected output" >&2
                 failed=`expr ${failed:-0} + 1`;;
 esac
 
 
 # check -nosend
 # Not supported by compiled mhmail.
                 failed=`expr ${failed:-0} + 1`;;
 esac
 
 
 # check -nosend
 # Not supported by compiled mhmail.
-mhmail -nosend recipient@example.com -from sender@localhost \
+mhmail -nosend recipient@example.com -from sender1@localhost \
   -server 127.0.0.1 -port $localport -body '' >"$actual" 2>"$actual_err"
 
   -server 127.0.0.1 -port $localport -body '' >"$actual" 2>"$actual_err"
 
-tmpfil=`head -1 $actual | sed -e 's/://'`
-
 cat > "$expected" <<EOF
 To: recipient@example.com
 cat > "$expected" <<EOF
 To: recipient@example.com
-From: sender@localhost
+From: sender1@localhost
 
 
 EOF
 
 
 EOF
@@ -155,11 +152,11 @@ check "$expected_err" "$actual_err"
 # Not supported by compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 # Not supported by compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@localhost>
+MAIL FROM:<sender2@localhost>
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
-From: sender@localhost
+From: sender2@localhost
 Date:
 
 message
 Date:
 
 message
@@ -167,7 +164,7 @@ message
 QUIT
 EOF
 
 QUIT
 EOF
 
-test_mhmail "$expected" "-from sender@localhost -nosend -send" '|' message
+test_mhmail "$expected" "-from sender2@localhost -nosend -send" '|' message
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
@@ -175,11 +172,11 @@ test_mhmail "$expected" "-from sender@localhost -nosend -send" '|' message
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@localhost>
+MAIL FROM:<sender3@localhost>
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
-From: sender@localhost
+From: sender3@localhost
 Date:
 
 message
 Date:
 
 message
@@ -187,7 +184,7 @@ message
 QUIT
 EOF
 
 QUIT
 EOF
 
-test_mhmail "$expected" "-from sender@localhost" '|' message
+test_mhmail "$expected" "-from sender3@localhost" '|' message
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
@@ -195,11 +192,11 @@ test_mhmail "$expected" "-from sender@localhost" '|' message
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@localhost>
+MAIL FROM:<sender4@localhost>
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
-From: sender@localhost
+From: sender4@localhost
 Date:
 
 body
 Date:
 
 body
@@ -207,7 +204,7 @@ body
 QUIT
 EOF
 
 QUIT
 EOF
 
-test_mhmail "$expected" "-from sender@localhost" -b body
+test_mhmail "$expected" "-from sender4@localhost" -b body
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
@@ -215,13 +212,13 @@ test_mhmail "$expected" "-from sender@localhost" -b body
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@localhost>
+MAIL FROM:<sender5@localhost>
 RCPT TO:<recipient@example.com>
 RCPT TO:<recipient2@example.com>
 DATA
 To: recipient@example.com
 Cc: recipient2@example.com
 RCPT TO:<recipient@example.com>
 RCPT TO:<recipient2@example.com>
 DATA
 To: recipient@example.com
 Cc: recipient2@example.com
-From: sender@localhost
+From: sender5@localhost
 Date:
 
 message
 Date:
 
 message
@@ -230,7 +227,7 @@ QUIT
 EOF
 
 test_mhmail "$expected" \
 EOF
 
 test_mhmail "$expected" \
-    "-from sender@localhost -cc recipient2@example.com" '|' message
+    "-from sender5@localhost -cc recipient2@example.com" '|' message
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
@@ -238,7 +235,7 @@ test_mhmail "$expected" \
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@localhost>
+MAIL FROM:<sender6@localhost>
 RCPT TO:<recipient@example.com>
 RCPT TO:<recipient2@example.com>
 RCPT TO:<recipient3@example.com>
 RCPT TO:<recipient@example.com>
 RCPT TO:<recipient2@example.com>
 RCPT TO:<recipient3@example.com>
@@ -247,7 +244,7 @@ DATA
 To: recipient@example.com
 Cc: recipient2@example.com, recipient3@example.com,
     recipient4@example.com
 To: recipient@example.com
 Cc: recipient2@example.com, recipient3@example.com,
     recipient4@example.com
-From: sender@localhost
+From: sender6@localhost
 Date:
 
 message
 Date:
 
 message
@@ -256,8 +253,8 @@ QUIT
 EOF
 
 test_mhmail "$expected" \
 EOF
 
 test_mhmail "$expected" \
-    '-from sender@localhost -cc recipient2@example.com recipient3@example.com '\
-'recipient4@example.com' '|' message
+    '-from sender6@localhost -cc recipient2@example.com '\
+'recipient3@example.com recipient4@example.com' '|' message
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
@@ -265,12 +262,12 @@ test_mhmail "$expected" \
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@localhost>
+MAIL FROM:<sender7@localhost>
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 Subject: Test
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 Subject: Test
-From: sender@localhost
+From: sender7@localhost
 Date:
 
 message
 Date:
 
 message
@@ -278,7 +275,7 @@ message
 QUIT
 EOF
 
 QUIT
 EOF
 
-test_mhmail "$expected" '-from sender@localhost -subject Test' '|' message
+test_mhmail "$expected" '-from sender7@localhost -subject Test' '|' message
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
@@ -287,15 +284,17 @@ test_mhmail "$expected" '-from sender@localhost -subject Test' '|' message
 # 2) use send(1) by added a send switch to the profile and
 # verifying that it gets used.
 # Not supported by compiled mhmail.
 # 2) use send(1) by added a send switch to the profile and
 # verifying that it gets used.
 # Not supported by compiled mhmail.
-printf "send: -msgid\n" >> $MH
+printf 'send: -msgid\n' >> $MH
 
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@localhost>
+MAIL FROM:<sender8@localhost>
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
-From: sender@localhost
+From: sender8@localhost
+MIME-Version: 1.0
+Content-Type: text/plain; charset="us-ascii"
 Date:
 Message-ID:
 
 Date:
 Message-ID:
 
@@ -304,7 +303,7 @@ message
 QUIT
 EOF
 
 QUIT
 EOF
 
-test_mhmail "$expected" '-from sender@localhost -profile' '|' message
+test_mhmail "$expected" '-from sender8@localhost -profile' '|' message
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
@@ -312,12 +311,12 @@ test_mhmail "$expected" '-from sender@localhost -profile' '|' message
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender2@localhost>
+MAIL FROM:<sender9@localhost>
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 Subject: Subject2
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 Subject: Subject2
-From: sender2@localhost
+From: sender9@localhost
 Date:
 
 message
 Date:
 
 message
@@ -325,7 +324,7 @@ message
 QUIT
 EOF
 
 QUIT
 EOF
 
-test_mhmail "$expected" '-from sender@localhost -from sender2@localhost '\
+test_mhmail "$expected" '-from sender9@localhost -from sender9@localhost '\
 '-subject Subject1 -subject Subject2' -b message
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 '-subject Subject1 -subject Subject2' -b message
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
@@ -333,11 +332,11 @@ test_mhmail "$expected" '-from sender@localhost -from sender2@localhost '\
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@localhost>
+MAIL FROM:<sender10@localhost>
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
-From: sender@localhost
+From: sender10@localhost
 Date:
 
 body2
 Date:
 
 body2
@@ -345,7 +344,7 @@ body2
 QUIT
 EOF
 
 QUIT
 EOF
 
-test_mhmail "$expected" "-from sender@localhost -body body1" -b body2
+test_mhmail "$expected" "-from sender10@localhost -body body1" -b body2
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
@@ -353,14 +352,14 @@ test_mhmail "$expected" "-from sender@localhost -body body1" -b body2
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@localhost>
+MAIL FROM:<sender11@localhost>
 RCPT TO:<recipient@example.com>
 RCPT TO:<cc1@example.com>
 RCPT TO:<cc2@example.com>
 DATA
 To: recipient@example.com
 Cc: cc1@example.com, cc2@example.com
 RCPT TO:<recipient@example.com>
 RCPT TO:<cc1@example.com>
 RCPT TO:<cc2@example.com>
 DATA
 To: recipient@example.com
 Cc: cc1@example.com, cc2@example.com
-From: sender@localhost
+From: sender11@localhost
 Date:
 
 message
 Date:
 
 message
@@ -369,7 +368,7 @@ QUIT
 EOF
 
 test_mhmail "$expected" \
 EOF
 
 test_mhmail "$expected" \
-  '-from sender@localhost -cc cc1@example.com -cc cc2@example.com' -b message
+  '-from sender11@localhost -cc cc1@example.com -cc cc2@example.com' -b message
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
@@ -377,7 +376,7 @@ test_mhmail "$expected" \
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@localhost>
+MAIL FROM:<sender12@localhost>
 RCPT TO:<recipient@example.com>
 RCPT TO:<cc1@example.com>
 RCPT TO:<cc2@example.com>
 RCPT TO:<recipient@example.com>
 RCPT TO:<cc1@example.com>
 RCPT TO:<cc2@example.com>
@@ -385,7 +384,7 @@ DATA
 To: recipient@example.com
 Cc: cc1@example.com, cc2@example.com
 Subject: Test
 To: recipient@example.com
 Cc: cc1@example.com, cc2@example.com
 Subject: Test
-From: sender@localhost
+From: sender12@localhost
 Date:
 
 message
 Date:
 
 message
@@ -394,8 +393,8 @@ QUIT
 EOF
 
 test_mhmail "$expected" \
 EOF
 
 test_mhmail "$expected" \
-  '-from sender@localhost -cc cc1@example.com -subject Test cc2@example.com' \
-  -b message
+  '-from sender12@localhost -cc cc1@example.com -subject '\
+'Test cc2@example.com' -b message
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
@@ -403,7 +402,7 @@ test_mhmail "$expected" \
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@localhost>
+MAIL FROM:<sender13@localhost>
 RCPT TO:<recipient@example.com>
 RCPT TO:<recipient2@example.com>
 RCPT TO:<cc1@example.com>
 RCPT TO:<recipient@example.com>
 RCPT TO:<recipient2@example.com>
 RCPT TO:<cc1@example.com>
@@ -411,7 +410,7 @@ DATA
 To: recipient@example.com, recipient2@example.com
 Cc: cc1@example.com
 Subject: Test
 To: recipient@example.com, recipient2@example.com
 Cc: cc1@example.com
 Subject: Test
-From: sender@localhost
+From: sender13@localhost
 Date:
 
 message
 Date:
 
 message
@@ -420,7 +419,7 @@ QUIT
 EOF
 
 test_mhmail "$expected" \
 EOF
 
 test_mhmail "$expected" \
-  "-from sender@localhost -cc cc1@example.com -subject Test \
+  "-from sender13@localhost -cc cc1@example.com -subject Test \
    -to recipient2@example.com" \
   -b message
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
    -to recipient2@example.com" \
   -b message
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
@@ -449,11 +448,11 @@ check "$expected_err" "$actual_err"
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@localhost>
+MAIL FROM:<sender14@localhost>
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
-From: sender@localhost
+From: sender14@localhost
 Date:
 
 
 Date:
 
 
@@ -461,7 +460,8 @@ Date:
 QUIT
 EOF
 
 QUIT
 EOF
 
-test_mhmail "$expected" '-from sender@localhost' '|' '\n'
+test_mhmail "$expected" '-from sender14@localhost' '|' '
+'
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
@@ -469,11 +469,11 @@ test_mhmail "$expected" '-from sender@localhost' '|' '\n'
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@localhost>
+MAIL FROM:<sender15@localhost>
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
-From: sender@localhost
+From: sender15@localhost
 Date:
 
 
 Date:
 
 
@@ -483,7 +483,10 @@ Date:
 QUIT
 EOF
 
 QUIT
 EOF
 
-test_mhmail "$expected" '-from sender@localhost' '|' '\n\n\n'
+test_mhmail "$expected" '-from sender15@localhost' '|' '
+
+
+'
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
@@ -491,11 +494,11 @@ test_mhmail "$expected" '-from sender@localhost' '|' '\n\n\n'
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@localhost>
+MAIL FROM:<sender16@localhost>
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
-From: sender@localhost
+From: sender16@localhost
 Date:
 
 no newline in input
 Date:
 
 no newline in input
@@ -503,7 +506,7 @@ no newline in input
 QUIT
 EOF
 
 QUIT
 EOF
 
-test_mhmail "$expected" '-from sender@localhost' '|' 'no newline in input'
+test_mhmail "$expected" '-from sender16@localhost' '|' 'no newline in input'
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
@@ -511,11 +514,11 @@ test_mhmail "$expected" '-from sender@localhost' '|' 'no newline in input'
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@localhost>
+MAIL FROM:<sender17@localhost>
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
-From: sender@localhost
+From: sender17@localhost
 Date:
 
 here's some text
 Date:
 
 here's some text
@@ -525,7 +528,10 @@ here's some text
 QUIT
 EOF
 
 QUIT
 EOF
 
-test_mhmail "$expected" '-from sender@localhost' '|' "here's some text\n\n\n"
+test_mhmail "$expected" '-from sender17@localhost' '|' "here's some text
+
+
+"
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
@@ -533,11 +539,11 @@ test_mhmail "$expected" '-from sender@localhost' '|' "here's some text\n\n\n"
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@localhost>
+MAIL FROM:<sender18@localhost>
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
-From: sender@localhost
+From: sender18@localhost
 Date:
 
 
 Date:
 
 
@@ -545,7 +551,7 @@ Date:
 QUIT
 EOF
 
 QUIT
 EOF
 
-test_mhmail "$expected" '-from sender@localhost' -b ''
+test_mhmail "$expected" '-from sender18@localhost' -b ''
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
@@ -553,11 +559,11 @@ test_mhmail "$expected" '-from sender@localhost' -b ''
 # Shows different behavior than compiled mhmail, which suppressed the newline.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 # Shows different behavior than compiled mhmail, which suppressed the newline.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@localhost>
+MAIL FROM:<sender19@localhost>
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
-From: sender@localhost
+From: sender19@localhost
 Date:
 
 
 Date:
 
 
@@ -566,7 +572,7 @@ Date:
 QUIT
 EOF
 
 QUIT
 EOF
 
-test_mhmail "$expected" '-from sender@localhost' -b '
+test_mhmail "$expected" '-from sender19@localhost' -b '
 '
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 '
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
@@ -576,11 +582,11 @@ test_mhmail "$expected" '-from sender@localhost' -b '
 #   of the newlines.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 #   of the newlines.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@localhost>
+MAIL FROM:<sender20@localhost>
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
-From: sender@localhost
+From: sender20@localhost
 Date:
 
 
 Date:
 
 
@@ -591,7 +597,7 @@ Date:
 QUIT
 EOF
 
 QUIT
 EOF
 
-test_mhmail "$expected" '-from sender@localhost' -b '
+test_mhmail "$expected" '-from sender20@localhost' -b '
 
 
 '
 
 
 '
@@ -602,11 +608,11 @@ test_mhmail "$expected" '-from sender@localhost' -b '
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 # Verified same behavior as compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@localhost>
+MAIL FROM:<sender21@localhost>
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
-From: sender@localhost
+From: sender21@localhost
 Date:
 
 no newline in input
 Date:
 
 no newline in input
@@ -614,7 +620,7 @@ no newline in input
 QUIT
 EOF
 
 QUIT
 EOF
 
-test_mhmail "$expected" '-from sender@localhost' -b 'no newline in input'
+test_mhmail "$expected" '-from sender21@localhost' -b 'no newline in input'
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 
@@ -623,11 +629,11 @@ test_mhmail "$expected" '-from sender@localhost' -b 'no newline in input'
 #   of the newlines.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 #   of the newlines.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@localhost>
+MAIL FROM:<sender22@localhost>
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
-From: sender@localhost
+From: sender22@localhost
 Date:
 
 here's some text
 Date:
 
 here's some text
@@ -637,7 +643,7 @@ here's some text
 QUIT
 EOF
 
 QUIT
 EOF
 
-test_mhmail "$expected" '-from sender@localhost' -b "here's some text
+test_mhmail "$expected" '-from sender22@localhost' -b "here's some text
 
 "
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
 
 "
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
@@ -653,7 +659,7 @@ DATA
 Resent-To: recipient@example.com
 Resent-From: orig_recipient@example.com
 To: recipient@example.com
 Resent-To: recipient@example.com
 Resent-From: orig_recipient@example.com
 To: recipient@example.com
-From: sender@localhost
+From: sender23@localhost
 Date:
 Resent-Date:
 
 Date:
 Resent-Date:
 
@@ -664,7 +670,7 @@ EOF
 
 test_mhmail "$expected" '-from orig_recipient@example.com -resent' \
   -b 'To: recipient@example.com
 
 test_mhmail "$expected" '-from orig_recipient@example.com -resent' \
   -b 'To: recipient@example.com
-From: sender@localhost
+From: sender23@localhost
 Date: Sat Jun 16 18:35:15 -0500
 
 please resend this message, 1'
 Date: Sat Jun 16 18:35:15 -0500
 
 please resend this message, 1'
@@ -679,7 +685,7 @@ MAIL FROM:<orig_recipient@example.com>
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
-From: sender@localhost
+From: sender24@localhost
 Date:
 Resent-To: recipient@example.com
 Resent-From: orig_recipient@example.com
 Date:
 Resent-To: recipient@example.com
 Resent-From: orig_recipient@example.com
@@ -693,7 +699,7 @@ EOF
 test_mhmail "$expected" \
   '-from orig_recipient@example.com -resent -profile -nomsgid' \
   '|' 'To: recipient@example.com
 test_mhmail "$expected" \
   '-from orig_recipient@example.com -resent -profile -nomsgid' \
   '|' 'To: recipient@example.com
-From: sender@localhost
+From: sender24@localhost
 Date: Sat Jun 16 18:35:15 -0500
 
 please resend this message, 2'
 Date: Sat Jun 16 18:35:15 -0500
 
 please resend this message, 2'
@@ -709,7 +715,7 @@ MAIL FROM:<orig_recipient@example.com>
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
-From: sender@localhost
+From: sender25@localhost
 Date:
 Resent-To: recipient@example.com
 Resent-From: orig_recipient@example.com
 Date:
 Resent-To: recipient@example.com
 Resent-From: orig_recipient@example.com
@@ -723,7 +729,7 @@ EOF
 test_mhmail "$expected" \
   '-from orig_recipient@example.com -resent -profile -nomsgid' \
   -b 'To: recipient@example.com
 test_mhmail "$expected" \
   '-from orig_recipient@example.com -resent -profile -nomsgid' \
   -b 'To: recipient@example.com
-From: sender@localhost
+From: sender25@localhost
 Date: Sat Jun 16 18:35:15 -0500
 
 please resend this message, 3'
 Date: Sat Jun 16 18:35:15 -0500
 
 please resend this message, 3'
@@ -735,11 +741,11 @@ please resend this message, 3'
 # Not supported by compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 # Not supported by compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@example.com>
+MAIL FROM:<sender26@example.com>
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
-From: sender@example.com
+From: sender26@example.com
 User-Agent: nmh
 Date:
 
 User-Agent: nmh
 Date:
 
@@ -749,7 +755,7 @@ QUIT
 EOF
 
 test_mhmail "$expected" \
 EOF
 
 test_mhmail "$expected" \
-  '-from sender@example.com -headerfield User-Agent:nmh' \
+  '-from sender26@example.com -headerfield User-Agent:nmh' \
   -b 'with added header field'
 
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
   -b 'with added header field'
 
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
@@ -759,14 +765,14 @@ test_mhmail "$expected" \
 # Not supported by compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 # Not supported by compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@example.com>
+MAIL FROM:<sender27@example.com>
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
-From: sender@example.com
+From: sender27@example.com
 MIME-Version: 1.0
 Content-Type: text/plain;charset=utf-8
 MIME-Version: 1.0
 Content-Type: text/plain;charset=utf-8
-Content-Transfer-Encoding: 8bit
+Content-Transfer-Encoding: 7bit
 Date:
 
 with added header fields
 Date:
 
 with added header fields
@@ -775,9 +781,9 @@ QUIT
 EOF
 
 test_mhmail "$expected" \
 EOF
 
 test_mhmail "$expected" \
-  "-from sender@example.com -headerfield MIME-Version:1.0 \
+  "-from sender27@example.com -headerfield MIME-Version:1.0 \
 -headerfield Content-Type:text/plain;charset=utf-8 \
 -headerfield Content-Type:text/plain;charset=utf-8 \
--headerfield Content-Transfer-Encoding:8bit" \
+-headerfield Content-Transfer-Encoding:7bit" \
   -b 'with added header fields'
 
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
   -b 'with added header fields'
 
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
@@ -787,11 +793,11 @@ test_mhmail "$expected" \
 # Not supported by compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
 # Not supported by compiled mhmail.
 cat > "$expected" <<EOF
 EHLO nosuchhost.example.com
-MAIL FROM:<sender@example.com>
+MAIL FROM:<sender28@example.com>
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
 RCPT TO:<recipient@example.com>
 DATA
 To: recipient@example.com
-From: sender@example.com
+From: sender28@example.com
 MIME-Version: 1.0
 Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0"
 Date:
 MIME-Version: 1.0
 Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0"
 Date:
@@ -803,7 +809,7 @@ Content-Type: text/plain; charset="us-ascii"
 See how easy it is to add an attachment!
 
 ------- =_aaaaaaaaaa0
 See how easy it is to add an attachment!
 
 ------- =_aaaaaaaaaa0
-Content-Type: text/plain; name="attachment.txt"; charset="us-ascii"
+Content-Type: `content_type_string ${srcdir}/test/mhmail/attachment.txt`
 Content-Description: attachment.txt
 Content-Disposition: attachment; filename="attachment.txt"
 
 Content-Description: attachment.txt
 Content-Disposition: attachment; filename="attachment.txt"
 
@@ -817,7 +823,7 @@ QUIT
 EOF
 
 test_mhmail "$expected" \
 EOF
 
 test_mhmail "$expected" \
-  "-from sender@example.com -attach ${srcdir}/test/mhmail/attachment.txt" \
+  "-from sender28@example.com -attach ${srcdir}/test/mhmail/attachment.txt" \
   -b 'See how easy it is to add an attachment!'
 
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}
   -b 'See how easy it is to add an attachment!'
 
 [ ${failed:-0} -eq 0 ] || exit ${failed:-0}