1print <<'EOF'
2#
3# Do not edit this file. This file shows the default delivery status
4# notification (DSN) messages that are built into Postfix.
5#
6# To change Postfix DSN messages, perhaps to add non-English text,
7# follow instructions in the bounce(5) manual page.
8#
9EOF
10
11# QUICK INSTRUCTIONS:
12#
13#-Edit a temporary copy of this file, and preview the result of $name
14# expansions with "postconf -b temporary_file". If there are any
15# problems, Postfix will log "warning" or "fatal" messages to the
16# maillog file.
17#
18#-The template file can specify bounce message templates for
19# failed mail, for delayed mail, for successful delivery, or for
20# verbose delivery.  You don't have to specify all templates.
21#
22#-Each template starts with "template_name = <<EOF" and ends
23# with a line that contains the word "EOF" only. You can change the
24# word EOF if you like, but you can't do shell/perl/etc like things
25# such as enclosing it in quotes (template_name = <<'EOF').
26#
27#-Each template consists of a few headers and message text. The
28# headers control what the recipient sees as From: and Subject:, and
29# what MIME information Postfix will generate.
30#
31#-Template message headers must not span multiple lines.
32#
33#-Template message headers must not contain main.cf $parameters.
34#
35#-Template message headers must contain ASCII characters only.
36#
37#-The template message text is not sent in Postmaster copies of
38# delivery status notifications.
39#
40#-Template message text may contain main.cf $parameters. Some
41# parameters have additional features as described below with the
42# delayed mail message template.
43#
44#-Template message text may contain non-ASCII text. In that case you
45# MUST change the character set value in the CHARSET: template header,
46# otherwise Postfix will not use your template. You must specify a
47# character set that is a superset of US-ASCII, because Postfix
48# appends ASCII text after the message template when it sends a
49# delivery status notification.
50#
51#-When previewing the result with "postconf -b temporary_file", be
52# sure to pay particular attention to the time values that appear
53# in the delayed mail notification text.
54#
55#-Once you're satisfied with the result, and once Postfix stops
56# logging warning messages, copy the template to the Postfix
57# configuration directory and specify in main.cf something like:
58#
59# /etc/postfix/main.cf:
60#     bounce_template_file = $config_directory/bounce.cf
61#
62#EOF
63;
64
65while (<>) {
66    if (/^failure_template/) { print <<'EOF'
67
68#
69# The failure template is used when mail is returned to the sender;
70# either the destination rejected the message, or the destination
71# could not be reached before the message expired in the queue.
72#
73
74EOF
75;
76    } elsif (/^delay_template/) { print <<'EOF'
77
78#
79# The delay template is used when mail is delayed. Note a neat trick:
80# the default template displays the delay_warning_time value as hours
81# by appending the _hours suffix to the parameter name; it displays
82# the maximal_queue_lifetime value as days by appending the _days
83# suffix.
84#
85# Other suffixes are: _seconds, _minutes, _weeks. There are no other
86# main.cf parameters that have this special behavior.
87#
88# You need to adjust these suffixes (and the surrounding text) if
89# you have very different settings for these time parameters.
90#
91
92EOF
93;
94    } elsif (/^success_template/) { print <<'EOF'
95
96#
97# The success template is used when mail is delivered to mailbox,
98# when an alias or list is expanded, or when mail is delivered to a
99# system that does not announce DSN support. It is an error to specify
100# a Postmaster-Subject: here.
101#
102
103EOF
104;
105    } elsif (/^verify_template/) { print <<'EOF'
106
107#
108# The verify template is used for address verification (sendmail -bv
109# address...). or for verbose mail delivery (sendmail -v address...).
110# It is an error to specify a Postmaster-Subject: here.
111#
112
113EOF
114;
115    }
116    print $_;
117}
118