forward.at
2.15 KB
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
# This file is part of GNU Mailutils. -*- Autotest -*-
# Copyright (C) 2010 Free Software Foundation, Inc.
#
# GNU Mailutils is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 3, or (at
# your option) any later version.
#
# GNU Mailutils is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>.
AT_SETUP([forwarding support])
AT_KEYWORDS([maidag forward])
m4_pushdef([FORWARD_OPTIONS],[dnl
--set "^mailer^url=sendmail:$abs_top_builddir/examples/mta" dnl
--set "^forward-file=$forward" dnl
--set "^forward-file-checks=none"])
AT_CHECK([
forward=`pwd`/my.forward
namelist=`sed 's/:.*//;3,$d' /etc/passwd 2>/dev/null`
test -n "$namelist" || AT_SKIP_TEST
cat > my.forward <<EOT
foo@bar.baz
\\$namelist
EOT
set -- $namelist
cat > experr <<EOT
maidag: notice: skipping forward file $forward: already processed
EOT
echo ENVELOPE > expout.0
cat $abs_top_srcdir/maidag/tests/input.msg >> expout.0
echo "" >> expout.0
echo "ENVELOPE FROM: gulliver@example.net" > expout.1
echo "ENVELOPE TO: <foo@bar.baz>" >> expout.1
awk '{printf("% 4d: %s\n", NR-1,$0)}' $abs_top_srcdir/maidag/tests/input.msg >> expout.1
echo "END OF MESSAGE" >> expout.1
MTA_DIAG=mta.diag
export MTA_DIAG
mkdir spool
maidag MAIDAG_OPTIONS FORWARD_OPTIONS --from gulliver@example.net $1 < \
$abs_top_srcdir/maidag/tests/input.msg || exit $?
for name in $namelist
do
if test -f spool/$name; then
sed '1s/From gulliver@example.net.*/ENVELOPE/' spool/$name | \
cmp expout.0 - >/dev/null || echo "$name mailbox mismatch" >&2
else
echo "$name missed message" >&2
fi
done
if test -f mta.diag; then
cmp mta.diag expout.1 >/dev/null || echo "remote copy mismatch" >&2
else
echo "remote delivery failed" >&2
fi
],
[0],
[],
[experr])
m4_popdef([FORWARD_OPTIONS])
AT_CLEANUP