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
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
|
.TH VERIFY 8
.ad
.fi
.SH NAME
verify
\-
Postfix address verification server
.SH "SYNOPSIS"
.na
.nf
\fBverify\fR [generic Postfix daemon options]
.SH DESCRIPTION
.ad
.fi
The \fBverify\fR(8) address verification server maintains a record
of what recipient addresses are known to be deliverable or
undeliverable.
Addresses are verified by injecting probe messages into the
Postfix queue. Probe messages are run through all the routing
and rewriting machinery except for final delivery, and are
discarded rather than being deferred or bounced.
Address verification relies on the answer from the nearest
MTA for the specified address, and will therefore not detect
all undeliverable addresses.
The \fBverify\fR(8) server is designed to run under control
by the Postfix
master server. It maintains an optional persistent database.
To avoid being interrupted by "postfix stop" in the middle
of a database update, the process runs in a separate process
group.
The \fBverify\fR(8) server implements the following requests:
.IP "\fBupdate\fI address status text\fR"
Update the status and text of the specified address.
.IP "\fBquery\fI address\fR"
Look up the \fIstatus\fR and \fItext\fR for the specified
\fIaddress\fR.
If the status is unknown, a probe is sent and an "in progress"
status is returned.
.SH "SECURITY"
.na
.nf
.ad
.fi
The address verification server is not security\-sensitive. It does
not talk to the network, and it does not talk to local users.
The verify server can run chrooted at fixed low privilege.
The address verification server can be coerced to store
unlimited amounts of garbage. Limiting the cache expiry
time
trades one problem (disk space exhaustion) for another
one (poor response time to client requests).
With Postfix version 2.5 and later, the \fBverify\fR(8)
server no longer uses root privileges when opening the
\fBaddress_verify_map\fR cache file. The file should now
be stored under the Postfix\-owned \fBdata_directory\fR. As
a migration aid, an attempt to open a cache file under a
non\-Postfix directory is redirected to the Postfix\-owned
\fBdata_directory\fR, and a warning is logged.
.SH DIAGNOSTICS
.ad
.fi
Problems and transactions are logged to \fBsyslogd\fR(8)
or \fBpostlogd\fR(8).
.SH BUGS
.ad
.fi
Address verification probe messages add additional traffic
to the mail queue.
Recipient verification may cause an increased load on
down\-stream servers in the case of a dictionary attack or
a flood of backscatter bounces.
Sender address verification may cause your site to be
denylisted by some providers.
If the persistent database ever gets corrupted then the world
comes to an end and human intervention is needed. This violates
a basic Postfix principle.
.SH "CONFIGURATION PARAMETERS"
.na
.nf
.ad
.fi
Changes to \fBmain.cf\fR are not picked up automatically,
as \fBverify\fR(8)
processes are long\-lived. Use the command "\fBpostfix reload\fR" after
a configuration change.
The text below provides only a parameter summary. See
\fBpostconf\fR(5) for more details including examples.
.SH "PROBE MESSAGE CONTROLS"
.na
.nf
.ad
.fi
.IP "\fBaddress_verify_sender ($double_bounce_sender)\fR"
The sender address to use in address verification probes; prior
to Postfix 2.5 the default was "postmaster".
.PP
Available with Postfix 2.9 and later:
.IP "\fBaddress_verify_sender_ttl (0s)\fR"
The time between changes in the time\-dependent portion of address
verification probe sender addresses.
.SH "CACHE CONTROLS"
.na
.nf
.ad
.fi
.IP "\fBaddress_verify_map (see 'postconf -d' output)\fR"
Lookup table for persistent address verification status
storage.
.IP "\fBaddress_verify_positive_expire_time (31d)\fR"
The time after which a successful probe expires from the address
verification cache.
.IP "\fBaddress_verify_positive_refresh_time (7d)\fR"
The time after which a successful address verification probe needs
to be refreshed.
.IP "\fBaddress_verify_negative_cache (yes)\fR"
Enable caching of failed address verification probe results.
.IP "\fBaddress_verify_negative_expire_time (3d)\fR"
The time after which a failed probe expires from the address
verification cache.
.IP "\fBaddress_verify_negative_refresh_time (3h)\fR"
The time after which a failed address verification probe needs to
be refreshed.
.PP
Available with Postfix 2.7 and later:
.IP "\fBaddress_verify_cache_cleanup_interval (12h)\fR"
The amount of time between \fBverify\fR(8) address verification
database cleanup runs.
.SH "PROBE MESSAGE ROUTING CONTROLS"
.na
.nf
.ad
.fi
By default, probe messages are delivered via the same route
as regular messages. The following parameters can be used to
override specific message routing mechanisms.
.IP "\fBaddress_verify_relayhost ($relayhost)\fR"
Overrides the relayhost parameter setting for address verification
probes.
.IP "\fBaddress_verify_transport_maps ($transport_maps)\fR"
Overrides the transport_maps parameter setting for address verification
probes.
.IP "\fBaddress_verify_local_transport ($local_transport)\fR"
Overrides the local_transport parameter setting for address
verification probes.
.IP "\fBaddress_verify_virtual_transport ($virtual_transport)\fR"
Overrides the virtual_transport parameter setting for address
verification probes.
.IP "\fBaddress_verify_relay_transport ($relay_transport)\fR"
Overrides the relay_transport parameter setting for address
verification probes.
.IP "\fBaddress_verify_default_transport ($default_transport)\fR"
Overrides the default_transport parameter setting for address
verification probes.
.PP
Available in Postfix 2.3 and later:
.IP "\fBaddress_verify_sender_dependent_relayhost_maps ($sender_dependent_relayhost_maps)\fR"
Overrides the sender_dependent_relayhost_maps parameter setting for address
verification probes.
.PP
Available in Postfix 2.7 and later:
.IP "\fBaddress_verify_sender_dependent_default_transport_maps ($sender_dependent_default_transport_maps)\fR"
Overrides the sender_dependent_default_transport_maps parameter
setting for address verification probes.
.SH "SMTPUTF8 CONTROLS"
.na
.nf
.ad
.fi
Preliminary SMTPUTF8 support is introduced with Postfix 3.0.
.IP "\fBsmtputf8_autodetect_classes (sendmail, verify)\fR"
Detect that a message requires SMTPUTF8 support for the specified
mail origin classes.
.PP
Available in Postfix version 3.2 and later:
.IP "\fBenable_idna2003_compatibility (no)\fR"
Enable 'transitional' compatibility between IDNA2003 and IDNA2008,
when converting UTF\-8 domain names to/from the ASCII form that is
used for DNS lookups.
.SH "MISCELLANEOUS CONTROLS"
.na
.nf
.ad
.fi
.IP "\fBconfig_directory (see 'postconf -d' output)\fR"
The default location of the Postfix main.cf and master.cf
configuration files.
.IP "\fBdaemon_timeout (18000s)\fR"
How much time a Postfix daemon process may take to handle a
request before it is terminated by a built\-in watchdog timer.
.IP "\fBipc_timeout (3600s)\fR"
The time limit for sending or receiving information over an internal
communication channel.
.IP "\fBprocess_id (read\-only)\fR"
The process ID of a Postfix command or daemon process.
.IP "\fBprocess_name (read\-only)\fR"
The process name of a Postfix command or daemon process.
.IP "\fBqueue_directory (see 'postconf -d' output)\fR"
The location of the Postfix top\-level queue directory.
.IP "\fBsyslog_facility (mail)\fR"
The syslog facility of Postfix logging.
.IP "\fBsyslog_name (see 'postconf -d' output)\fR"
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
.PP
Available in Postfix 3.3 and later:
.IP "\fBservice_name (read\-only)\fR"
The master.cf service name of a Postfix daemon process.
.SH "SEE ALSO"
.na
.nf
smtpd(8), Postfix SMTP server
cleanup(8), enqueue Postfix message
postconf(5), configuration parameters
postlogd(8), Postfix logging
syslogd(8), system logging
.SH "README FILES"
.na
.nf
.ad
.fi
Use "\fBpostconf readme_directory\fR" or
"\fBpostconf html_directory\fR" to locate this information.
.na
.nf
ADDRESS_VERIFICATION_README, address verification howto
.SH "LICENSE"
.na
.nf
.ad
.fi
The Secure Mailer license must be distributed with this software.
.SH HISTORY
.ad
.fi
.ad
.fi
This service was introduced with Postfix version 2.1.
.SH "AUTHOR(S)"
.na
.nf
Wietse Venema
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA
Wietse Venema
Google, Inc.
111 8th Avenue
New York, NY 10011, USA
|