File: test-post-envelope

package info (click to toggle)
nmh 1.8-4
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 7,860 kB
  • sloc: ansic: 50,445; sh: 22,697; makefile: 1,138; lex: 740; perl: 509; yacc: 265
file content (189 lines) | stat: -rwxr-xr-x 4,500 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
#!/bin/sh
#
# Test the setting of the envelope-from address for SMTP
#
# Note here we use multiple From: addresses for some tests so we pick up
# some cases skipped in other tests.
#

set -e

if test -z "${MH_OBJ_DIR}"; then
    srcdir=`dirname "$0"`/../..
    MH_OBJ_DIR=`cd "$srcdir" && pwd`; export MH_OBJ_DIR
fi

. "${srcdir}/test/post/test-post-common.sh"

#
# Sender
#

cat > "${MH_TEST_DIR}/Mail/draft" <<EOF
From: Mr Nobody One <nobody1@example.com>,
      Mr Nobody Two <nobody2@example.com>
Sender: Mr Nobody Three <nobody3@example.com>
To: Somebody Else <somebody@example.com>
Subject: Sender test

This is a test of the Sender header.
EOF

cat > "${testname}.0.expected" <<EOF
EHLO nosuchhost.example.com
MAIL FROM:<nobody3@example.com>
RCPT TO:<somebody@example.com>
DATA
From: Mr Nobody One <nobody1@example.com>,
      Mr Nobody Two <nobody2@example.com>
Sender: Mr Nobody Three <nobody3@example.com>
To: Somebody Else <somebody@example.com>
Subject: Sender test
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date:

This is a test of the Sender header.
.
QUIT
EOF

test_post "${testname}.0.actual" "${testname}.0.expected"

#
# Check to see if Envelope-From overrides Sender
#

cat > "${MH_TEST_DIR}/Mail/draft" <<EOF
From: Mr Nobody One <nobody1@example.com>,
      Mr Nobody Two <nobody2@example.com>
Sender: Mr Nobody Three <nobody3@example.com>
Envelope-From: Mr Nobody Four <nobody4@example.com>
To: Somebody Else <somebody@example.com>
Subject: Envelope-From test

This is a test of the Envelope-From header.
EOF

cat > "${testname}.1.expected" <<EOF
EHLO nosuchhost.example.com
MAIL FROM:<nobody4@example.com>
RCPT TO:<somebody@example.com>
DATA
From: Mr Nobody One <nobody1@example.com>,
      Mr Nobody Two <nobody2@example.com>
Sender: Mr Nobody Three <nobody3@example.com>
To: Somebody Else <somebody@example.com>
Subject: Envelope-From test
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date:

This is a test of the Envelope-From header.
.
QUIT
EOF

test_post "${testname}.1.actual" "${testname}.1.expected"

#
# See if Envelope-From will generate a Sender: header with multiple From:
# addresses
#

cat > "${MH_TEST_DIR}/Mail/draft" <<EOF
From: Mr Nobody One <nobody1@example.com>,
      Mr Nobody Two <nobody2@example.com>
Envelope-From: Mr Nobody Four <nobody4@example.com>
To: Somebody Else <somebody@example.com>
Subject: Envelope-From and Sender test

This is a test of the Envelope-From and Sender headers.
EOF

cat > "${testname}.2.expected" <<EOF
EHLO nosuchhost.example.com
MAIL FROM:<nobody4@example.com>
RCPT TO:<somebody@example.com>
DATA
From: Mr Nobody One <nobody1@example.com>,
      Mr Nobody Two <nobody2@example.com>
To: Somebody Else <somebody@example.com>
Subject: Envelope-From and Sender test
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date:
Sender: nobody4@example.com

This is a test of the Envelope-From and Sender headers.
.
QUIT
EOF

test_post "${testname}.2.actual" "${testname}.2.expected"

#
# And make sure we do NOT get a Sender with only one From:
#

cat > "${MH_TEST_DIR}/Mail/draft" <<EOF
From: Mr Nobody One <nobody1@example.com>
Envelope-From: Mr Nobody Five <nobody5@example.com>
To: Somebody Else <somebody@example.com>
Subject: Solo Envelope-From test

This is a solo test of the Envelope-From header.
EOF

cat > "${testname}.3.expected" <<EOF
EHLO nosuchhost.example.com
MAIL FROM:<nobody5@example.com>
RCPT TO:<somebody@example.com>
DATA
From: Mr Nobody One <nobody1@example.com>
To: Somebody Else <somebody@example.com>
Subject: Solo Envelope-From test
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date:

This is a solo test of the Envelope-From header.
.
QUIT
EOF

test_post "${testname}.3.actual" "${testname}.3.expected"

#
# Make sure blank Envelope-From does what we expect it to
#

cat > "${MH_TEST_DIR}/Mail/draft" <<EOF
From: Mr Nobody One <nobody1@example.com>
Envelope-From:
To: Somebody Else <somebody@example.com>
Subject: Blank Envelope-From test

This is a blank test of the Envelope-From header.
EOF

cat > "${testname}.4.expected" <<EOF
EHLO nosuchhost.example.com
MAIL FROM:<>
RCPT TO:<somebody@example.com>
DATA
From: Mr Nobody One <nobody1@example.com>
To: Somebody Else <somebody@example.com>
Subject: Blank Envelope-From test
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date:

This is a blank test of the Envelope-From header.
.
QUIT
EOF

test_post "${testname}.4.actual" "${testname}.4.expected"

exit ${failed:-0}