2 ######################################################
4 # Test SMTPUTF8 (RFC 6531) support.
6 ######################################################
10 if test -z "${MH_OBJ_DIR}"; then
11 srcdir
=`dirname $0`/..
/..
12 MH_OBJ_DIR
=`cd $srcdir && pwd`; export MH_OBJ_DIR
15 .
"${srcdir}/test/post/test-post-common.sh"
18 mhl
="${MH_LIBEXEC_DIR}/mhl"
19 SMTPUTF8
=1; export SMTPUTF8
21 #### Make sure that html-to-text conversion is what we expect.
22 require_locale en_US.utf-8 en_US.utf8
23 LC_ALL
=en_US.UTF-8
; export LC_ALL
25 #### Enable EAI in mhbuild, via the profile.
26 sed "s%^\(mhbuild: .*\)%\1 -headerencoding utf-8%" "$MH" >"$MH.new"
29 # check SMTPUTF8 basic
30 start_test
'SMTPUTF8 basic'
32 cat > "${testname}.expected" <<EOF
33 EHLO nosuchhost.example.com
34 MAIL FROM:<senderø@example.com> BODY=8BITMIME SMTPUTF8
35 RCPT TO:<recipientæ@example.com>
37 From: senderø@example.com
38 To: recipientæ@example.com
39 Subject: Blåbærsyltetøy
41 Content-Type: text/plain; charset="UTF-8"
42 Content-Transfer-Encoding: 8bit
45 Blåbærsyltetøy er veldig godt. Jeg liker blåbærsyltetøy.
49 Arnt Gulbrandsen and Jiankang Yao, "Email Address Internationalization",
50 Computing Edge 1:6, June 2015,
51 http://www.computer.org/cms/computing-edge/ce-jun15-final.pdf, p. 50.
56 cat > "${MH_TEST_DIR}/Mail/draft" <<EOF
57 From: senderø@example.com
58 To: recipientæ@example.com
59 Subject: Blåbærsyltetøy
61 Blåbærsyltetøy er veldig godt. Jeg liker blåbærsyltetøy.
65 Arnt Gulbrandsen and Jiankang Yao, "Email Address Internationalization",
66 Computing Edge 1:6, June 2015,
67 http://www.computer.org/cms/computing-edge/ce-jun15-final.pdf, p. 50.
70 test_post
"${testname}.actual" "${testname}.expected"
73 start_test
"smtp server doesn't support SMTPUTF8"
75 cat > "${testname}.expected" <<EOF
76 EHLO nosuchhost.example.com
80 cat > "${testname}.expected.err" <<EOF
81 post: problem initializing server; [BHST] ready; I'll buy that for a dollar!
82 send: message not delivered to anyone
84 mv -f "${MH_TEST_DIR}/Mail/,draft" "${MH_TEST_DIR}/Mail/draft"
87 test_post
"${testname}.actual" "${testname}.expected" 2>"${testname}.err"
89 check
"${testname}.err" "${testname}.expected.err"