From: Mr Nobody <nobody@example.com>
To: Somebody Else <somebody@example.com>
Subject: Test
+MIME-Version: 1.0
+Content-Type: text/plain; charset="us-ascii"
Date:
This is a test
EOF
# check invalid -mts selection
+start_test 'invalid -mts selection'
run_test "send -draft -mts invalid" \
"post: unsupported mts selection \"invalid\"
send: message not delivered to anyone"
#### Rely on sendmail/smtp or sendmail/pipe below to override default mts.
mts_fakesendmail="${MHMTSCONF}-fakesendmail"
cp "${MHMTSCONF}" "$mts_fakesendmail"
-printf "%s\n" "sendmail: ${srcdir}/test/fakesendmail" >>"$mts_fakesendmail"
+printf 'sendmail: %s/test/fakesendmail\n' "$srcdir" >>"$mts_fakesendmail"
MHMTSCONF="$mts_fakesendmail"
-# $1: option switches for send
+# $1: -mts switch selection
# remaining arguments: expected output(s)
test_sendmail ()
{
- send -draft -mts "$1"
+ run_prog send -draft -mts "$1"
+ send_status=$?
shift
# fakesendmail drops the message and any cc's into this mbox.
- mbox="${MH_TEST_DIR}"/Mail/fakesendmail.mbox
- inc -silent -file "$mbox"
- rm -f "$mbox" "$mbox.map"
+ if [ $send_status -eq 0 ]; then
+ mbox="${MH_TEST_DIR}"/Mail/fakesendmail.mbox
+ inc -silent -file "$mbox"
+ rm -f "$mbox"
+ fi
n=1
for expected in "$@"; do
}
# check -mts sendmail/smtp
+start_test '-mts sendmail/smtp'
cat > "${MH_TEST_DIR}/Mail/draft" <<EOF
From: Mr Nobody <nobody@example.com>
To: Somebody Else <somebody@example.com>
From: Mr Nobody <nobody@example.com>
To: Somebody Else <somebody@example.com>
Subject: Test
+MIME-Version: 1.0
+Content-Type: text/plain; charset="us-ascii"
Date:
This is a test
# check -mts sendmail/pipe
# Dots are not stuffed because sendmail/pipe causes sendmail to be
# invoked with -i.
+start_test '-mts sendmail/pipe'
cat > "${MH_TEST_DIR}/Mail/draft" <<EOF
From: Mr Nobody <nobody@example.com>
To: Somebody Else <somebody@example.com>
From: Mr Nobody <nobody@example.com>
To: Somebody Else <somebody@example.com>
Subject: Test
+MIME-Version: 1.0
+Content-Type: text/plain; charset="us-ascii"
Date:
This is a test
test_sendmail sendmail/pipe "${testname}.expected"
-# check Bcc
+# check Bcc with sendmail/pipe
+start_test 'Bcc with sendmail/pipe'
cat > "${MH_TEST_DIR}/Mail/draft" <<EOF
From: Mr Nobody <nobody@example.com>
To: Somebody Else <somebody@example.com>
From: Mr Nobody <nobody@example.com>
To: Somebody Else <somebody@example.com>
Subject: Test
+MIME-Version: 1.0
+Content-Type: text/plain; charset="us-ascii"
Date:
This is a test
EOF
cat > "${testname}.expected2" <<EOF
+From: Mr Nobody <nobody@example.com>
Date:
Subject: Test
+BCC: bcc@example.com
------- Blind-Carbon-Copy
From: Mr Nobody <nobody@example.com>
To: Somebody Else <somebody@example.com>
Subject: Test
+MIME-Version: 1.0
+Content-Type: text/plain; charset="us-ascii"
Date:
This is a test
test_sendmail sendmail/pipe "${testname}.expected1" "${testname}.expected2"
+# check Dcc with sendmail/pipe: it is unsupported
+start_test 'Dcc with sendmail/pipe'
+cat > "${MH_TEST_DIR}/Mail/draft" <<EOF
+From: nobody@example.com
+Dcc: dcc@example.com
+
+.
+EOF
+
+cat > "${testname}.expected1" <<EOF
+post: Dcc header is not supported with sendmail/pipe
+post: re-format message and try again
+send: message not delivered to anyone
+EOF
+
+! test_sendmail sendmail/pipe 2>"${testname}.actual1"
+check "${testname}.actual1" "${testname}.expected1"
+
rm -f ${MHMTSCONF}
+finish_test
exit ${failed:-0}