1>>> #
2>>> # Initialize.
3>>> #
4>>> #! ../bin/postmap smtpd_check_access
5>>> #msg_verbose 1
6>>> smtpd_delay_reject 0
7OK
8>>> mynetworks 127.0.0.0/8,168.100.189.0/28
9OK
10>>> relay_domains porcupine.org
11OK
12>>> maps_rbl_domains dnsbltest.porcupine.org
13OK
14>>> #
15>>> # Test the client restrictions.
16>>> #
17>>> client_restrictions permit_mynetworks,reject_unknown_client,hash:./smtpd_check_access
18OK
19>>> client unknown 131.155.210.17
20./smtpd_check: <queue id>: reject: CONNECT from unknown[131.155.210.17]: 450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]; proto=SMTP
21450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]
22>>> client unknown 168.100.189.13
23OK
24>>> client random.bad.domain 123.123.123.123
25./smtpd_check: <queue id>: reject: CONNECT from random.bad.domain[123.123.123.123]: 554 5.7.1 <random.bad.domain[123.123.123.123]>: Client host rejected: match bad.domain; proto=SMTP
26554 5.7.1 <random.bad.domain[123.123.123.123]>: Client host rejected: match bad.domain
27>>> client friend.bad.domain 123.123.123.123
28OK
29>>> client bad.domain 123.123.123.123
30./smtpd_check: <queue id>: reject: CONNECT from bad.domain[123.123.123.123]: 554 5.7.1 <bad.domain[123.123.123.123]>: Client host rejected: match bad.domain; proto=SMTP
31554 5.7.1 <bad.domain[123.123.123.123]>: Client host rejected: match bad.domain
32>>> client wzv.win.tue.nl 131.155.210.17
33OK
34>>> client aa.win.tue.nl 131.155.210.18
35./smtpd_check: <queue id>: reject: CONNECT from aa.win.tue.nl[131.155.210.18]: 554 5.7.1 <aa.win.tue.nl[131.155.210.18]>: Client host rejected: match 131.155.210; proto=SMTP
36554 5.7.1 <aa.win.tue.nl[131.155.210.18]>: Client host rejected: match 131.155.210
37>>> client_restrictions permit_mynetworks
38OK
39>>> #
40>>> # Test the helo restrictions
41>>> #
42>>> helo_restrictions permit_mynetworks,reject_unknown_client,reject_invalid_hostname,reject_unknown_hostname,hash:./smtpd_check_access
43OK
44>>> client unknown 131.155.210.17
45OK
46>>> helo foo.
47./smtpd_check: <queue id>: reject: HELO from unknown[131.155.210.17]: 450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]; proto=SMTP helo=<foo.>
48450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]
49>>> client foo 123.123.123.123
50OK
51>>> helo foo.
52./smtpd_check: <queue id>: reject: HELO from foo[123.123.123.123]: 450 4.7.1 <foo.>: Helo command rejected: Host not found; proto=SMTP helo=<foo.>
53450 4.7.1 <foo.>: Helo command rejected: Host not found
54>>> helo foo
55./smtpd_check: <queue id>: reject: HELO from foo[123.123.123.123]: 450 4.7.1 <foo>: Helo command rejected: Host not found; proto=SMTP helo=<foo>
56450 4.7.1 <foo>: Helo command rejected: Host not found
57>>> helo spike.porcupine.org
58./smtpd_check: <queue id>: reject: HELO from foo[123.123.123.123]: 554 5.7.1 <spike.porcupine.org>: Helo command rejected: name server spike.porcupine.org; proto=SMTP helo=<spike.porcupine.org>
59554 5.7.1 <spike.porcupine.org>: Helo command rejected: name server spike.porcupine.org
60>>> helo_restrictions permit_mynetworks,reject_unknown_client,reject_invalid_hostname,hash:./smtpd_check_access
61OK
62>>> helo random.bad.domain
63./smtpd_check: <queue id>: reject: HELO from foo[123.123.123.123]: 554 5.7.1 <random.bad.domain>: Helo command rejected: match bad.domain; proto=SMTP helo=<random.bad.domain>
64554 5.7.1 <random.bad.domain>: Helo command rejected: match bad.domain
65>>> helo friend.bad.domain
66OK
67>>> helo_restrictions reject_invalid_hostname,reject_unknown_hostname
68OK
69>>> helo 123.123.123.123
70./smtpd_check: <queue id>: reject: HELO from foo[123.123.123.123]: 450 4.7.1 <123.123.123.123>: Helo command rejected: Host not found; proto=SMTP helo=<123.123.123.123>
71450 4.7.1 <123.123.123.123>: Helo command rejected: Host not found
72>>> helo [123.123.123.123]
73OK
74>>> helo [::]
75./smtpd_check: <queue id>: reject: HELO from foo[123.123.123.123]: 501 5.5.2 <[::]>: Helo command rejected: invalid ip address; proto=SMTP helo=<[::]>
76501 5.5.2 <[::]>: Helo command rejected: invalid ip address
77>>> helo [ipv6:::]
78OK
79>>> helo [ipv6::::]
80./smtpd_check: <queue id>: reject: HELO from foo[123.123.123.123]: 501 5.5.2 <[ipv6::::]>: Helo command rejected: invalid ip address; proto=SMTP helo=<[ipv6::::]>
81501 5.5.2 <[ipv6::::]>: Helo command rejected: invalid ip address
82>>> helo_restrictions permit_naked_ip_address,reject_invalid_hostname,reject_unknown_hostname
83OK
84>>> helo 123.123.123.123
85./smtpd_check: warning: restriction permit_naked_ip_address is deprecated. Use permit_mynetworks instead
86OK
87>>> #
88>>> # Test the sender restrictions
89>>> #
90>>> sender_restrictions permit_mynetworks,reject_unknown_client
91OK
92>>> client unknown 131.155.210.17
93OK
94>>> mail foo@watson.ibm.com
95./smtpd_check: <queue id>: reject: MAIL from unknown[131.155.210.17]: 450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]; from=<foo@watson.ibm.com> proto=SMTP helo=<123.123.123.123>
96450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]
97>>> client unknown 168.100.189.13
98OK
99>>> mail foo@watson.ibm.com
100OK
101>>> client foo 123.123.123.123
102OK
103>>> mail foo@watson.ibm.com
104OK
105>>> sender_restrictions reject_unknown_address
106OK
107>>> mail foo@watson.ibm.com
108OK
109>>> mail foo@bad.domain
110./smtpd_check: <queue id>: reject: MAIL from foo[123.123.123.123]: 450 4.1.8 <foo@bad.domain>: Sender address rejected: Domain not found; from=<foo@bad.domain> proto=SMTP helo=<123.123.123.123>
111450 4.1.8 <foo@bad.domain>: Sender address rejected: Domain not found
112>>> sender_restrictions hash:./smtpd_check_access
113OK
114>>> mail bad-sender@any.domain
115./smtpd_check: <queue id>: reject: MAIL from foo[123.123.123.123]: 554 5.7.1 <bad-sender@any.domain>: Sender address rejected: match bad-sender@; from=<bad-sender@any.domain> proto=SMTP helo=<123.123.123.123>
116554 5.7.1 <bad-sender@any.domain>: Sender address rejected: match bad-sender@
117>>> mail bad-sender@good.domain
118OK
119>>> mail reject@this.address
120./smtpd_check: <queue id>: reject: MAIL from foo[123.123.123.123]: 554 5.7.1 <reject@this.address>: Sender address rejected: match reject@this.address; from=<reject@this.address> proto=SMTP helo=<123.123.123.123>
121554 5.7.1 <reject@this.address>: Sender address rejected: match reject@this.address
122>>> mail Reject@this.address
123./smtpd_check: <queue id>: reject: MAIL from foo[123.123.123.123]: 554 5.7.1 <Reject@this.address>: Sender address rejected: match reject@this.address; from=<Reject@this.address> proto=SMTP helo=<123.123.123.123>
124554 5.7.1 <Reject@this.address>: Sender address rejected: match reject@this.address
125>>> mail foo@bad.domain
126./smtpd_check: <queue id>: reject: MAIL from foo[123.123.123.123]: 554 5.7.1 <foo@bad.domain>: Sender address rejected: match bad.domain; from=<foo@bad.domain> proto=SMTP helo=<123.123.123.123>
127554 5.7.1 <foo@bad.domain>: Sender address rejected: match bad.domain
128>>> mail foo@Bad.domain
129./smtpd_check: <queue id>: reject: MAIL from foo[123.123.123.123]: 554 5.7.1 <foo@Bad.domain>: Sender address rejected: match bad.domain; from=<foo@Bad.domain> proto=SMTP helo=<123.123.123.123>
130554 5.7.1 <foo@Bad.domain>: Sender address rejected: match bad.domain
131>>> mail foo@random.bad.domain
132./smtpd_check: <queue id>: reject: MAIL from foo[123.123.123.123]: 554 5.7.1 <foo@random.bad.domain>: Sender address rejected: match bad.domain; from=<foo@random.bad.domain> proto=SMTP helo=<123.123.123.123>
133554 5.7.1 <foo@random.bad.domain>: Sender address rejected: match bad.domain
134>>> mail foo@friend.bad.domain
135OK
136>>> #
137>>> # Test the recipient restrictions
138>>> #
139>>> recipient_restrictions permit_mynetworks,reject_unknown_client,check_relay_domains
140OK
141>>> client unknown 131.155.210.17
142OK
143>>> rcpt foo@watson.ibm.com
144./smtpd_check: <queue id>: reject: RCPT from unknown[131.155.210.17]: 450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]; from=<foo@friend.bad.domain> to=<foo@watson.ibm.com> proto=SMTP helo=<123.123.123.123>
145450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]
146>>> client unknown 168.100.189.13
147OK
148>>> rcpt foo@watson.ibm.com
149OK
150>>> client foo 123.123.123.123
151OK
152>>> rcpt foo@watson.ibm.com
153./smtpd_check: warning: support for restriction "check_relay_domains" will be removed from Postfix; use "reject_unauth_destination" instead
154./smtpd_check: <queue id>: reject: RCPT from foo[123.123.123.123]: 554 5.7.1 <foo@watson.ibm.com>: Recipient address rejected: Relay access denied; from=<foo@friend.bad.domain> to=<foo@watson.ibm.com> proto=SMTP helo=<123.123.123.123>
155554 5.7.1 <foo@watson.ibm.com>: Recipient address rejected: Relay access denied
156>>> rcpt foo@porcupine.org
157OK
158>>> recipient_restrictions check_relay_domains
159OK
160>>> client foo.porcupine.org 168.100.189.13
161OK
162>>> rcpt foo@watson.ibm.com
163OK
164>>> rcpt foo@porcupine.org
165OK
166>>> client foo 123.123.123.123
167OK
168>>> rcpt foo@watson.ibm.com
169./smtpd_check: <queue id>: reject: RCPT from foo[123.123.123.123]: 554 5.7.1 <foo@watson.ibm.com>: Recipient address rejected: Relay access denied; from=<foo@friend.bad.domain> to=<foo@watson.ibm.com> proto=SMTP helo=<123.123.123.123>
170554 5.7.1 <foo@watson.ibm.com>: Recipient address rejected: Relay access denied
171>>> rcpt foo@porcupine.org
172OK
173>>> recipient_restrictions hash:./smtpd_check_access
174OK
175>>> mail bad-sender@any.domain
176./smtpd_check: <queue id>: reject: MAIL from foo[123.123.123.123]: 554 5.7.1 <bad-sender@any.domain>: Sender address rejected: match bad-sender@; from=<bad-sender@any.domain> proto=SMTP helo=<123.123.123.123>
177554 5.7.1 <bad-sender@any.domain>: Sender address rejected: match bad-sender@
178>>> mail bad-sender@good.domain
179OK
180>>> mail reject@this.address
181./smtpd_check: <queue id>: reject: MAIL from foo[123.123.123.123]: 554 5.7.1 <reject@this.address>: Sender address rejected: match reject@this.address; from=<reject@this.address> proto=SMTP helo=<123.123.123.123>
182554 5.7.1 <reject@this.address>: Sender address rejected: match reject@this.address
183>>> mail foo@bad.domain
184./smtpd_check: <queue id>: reject: MAIL from foo[123.123.123.123]: 554 5.7.1 <foo@bad.domain>: Sender address rejected: match bad.domain; from=<foo@bad.domain> proto=SMTP helo=<123.123.123.123>
185554 5.7.1 <foo@bad.domain>: Sender address rejected: match bad.domain
186>>> mail foo@random.bad.domain
187./smtpd_check: <queue id>: reject: MAIL from foo[123.123.123.123]: 554 5.7.1 <foo@random.bad.domain>: Sender address rejected: match bad.domain; from=<foo@random.bad.domain> proto=SMTP helo=<123.123.123.123>
188554 5.7.1 <foo@random.bad.domain>: Sender address rejected: match bad.domain
189>>> mail foo@friend.bad.domain
190OK
191>>> #
192>>> # RBL
193>>> #
194>>> client_restrictions reject_maps_rbl
195OK
196>>> client spike.porcupine.org 168.100.189.2
197./smtpd_check: warning: support for restriction "reject_maps_rbl" will be removed from Postfix; use "reject_rbl_client domain-name" instead
198OK
199>>> client foo 127.0.0.2
200./smtpd_check: <queue id>: reject: CONNECT from foo[127.0.0.2]: 554 5.7.1 Service unavailable; Client host [127.0.0.2] blocked using dnsbltest.porcupine.org; from=<foo@friend.bad.domain> proto=SMTP helo=<123.123.123.123>
201554 5.7.1 Service unavailable; Client host [127.0.0.2] blocked using dnsbltest.porcupine.org
202>>> #
203>>> # Hybrids
204>>> #
205>>> recipient_restrictions check_relay_domains
206OK
207>>> client foo 131.155.210.17
208OK
209>>> rcpt foo@watson.ibm.com
210./smtpd_check: <queue id>: reject: RCPT from foo[131.155.210.17]: 554 5.7.1 <foo@watson.ibm.com>: Recipient address rejected: Relay access denied; from=<foo@friend.bad.domain> to=<foo@watson.ibm.com> proto=SMTP helo=<123.123.123.123>
211554 5.7.1 <foo@watson.ibm.com>: Recipient address rejected: Relay access denied
212>>> recipient_restrictions check_client_access,hash:./smtpd_check_access,check_relay_domains
213OK
214>>> client foo 131.155.210.17
215OK
216>>> rcpt foo@porcupine.org
217OK
218>>> helo_restrictions permit_mynetworks,reject_unknown_client,reject_invalid_hostname,hash:./smtpd_check_access
219OK
220>>> recipient_restrictions check_helo_access,hash:./smtpd_check_access,check_relay_domains
221OK
222>>> helo bad.domain
223./smtpd_check: <queue id>: reject: HELO from foo[131.155.210.17]: 554 5.7.1 <bad.domain>: Helo command rejected: match bad.domain; from=<foo@friend.bad.domain> proto=SMTP helo=<bad.domain>
224554 5.7.1 <bad.domain>: Helo command rejected: match bad.domain
225>>> rcpt foo@porcupine.org
226./smtpd_check: <queue id>: reject: RCPT from foo[131.155.210.17]: 554 5.7.1 <bad.domain>: Helo command rejected: match bad.domain; from=<foo@friend.bad.domain> to=<foo@porcupine.org> proto=SMTP helo=<bad.domain>
227554 5.7.1 <bad.domain>: Helo command rejected: match bad.domain
228>>> helo 131.155.210.17
229OK
230>>> rcpt foo@porcupine.org
231OK
232>>> recipient_restrictions check_sender_access,hash:./smtpd_check_access,check_relay_domains
233OK
234>>> mail foo@bad.domain
235./smtpd_check: <queue id>: reject: MAIL from foo[131.155.210.17]: 554 5.7.1 <foo@bad.domain>: Sender address rejected: match bad.domain; from=<foo@bad.domain> proto=SMTP helo=<131.155.210.17>
236554 5.7.1 <foo@bad.domain>: Sender address rejected: match bad.domain
237>>> rcpt foo@porcupine.org
238./smtpd_check: <queue id>: reject: RCPT from foo[131.155.210.17]: 554 5.7.1 <foo@bad.domain>: Sender address rejected: match bad.domain; from=<foo@bad.domain> to=<foo@porcupine.org> proto=SMTP helo=<131.155.210.17>
239554 5.7.1 <foo@bad.domain>: Sender address rejected: match bad.domain
240>>> mail foo@friend.bad.domain
241OK
242>>> rcpt foo@porcupine.org
243OK
244>>> #
245>>> # MX backup
246>>> #
247>>> #mydestination spike.porcupine.org,localhost.porcupine.org
248>>> #inet_interfaces 168.100.189.2,127.0.0.1
249>>> #recipient_restrictions permit_mx_backup,reject
250>>> #rcpt wietse@wzv.win.tue.nl
251>>> #rcpt wietse@trouble.org
252>>> #rcpt wietse@porcupine.org
253>>> #
254>>> # Deferred restrictions
255>>> #
256>>> client_restrictions permit
257OK
258>>> helo_restrictions permit
259OK
260>>> sender_restrictions permit
261OK
262>>> recipient_restrictions check_helo_access,hash:./smtpd_check_access,check_sender_access,hash:./smtpd_check_access
263OK
264>>> helo bad.domain
265OK
266>>> mail foo@good.domain
267OK
268>>> rcpt foo@porcupine.org
269./smtpd_check: <queue id>: reject: RCPT from foo[131.155.210.17]: 554 5.7.1 <bad.domain>: Helo command rejected: match bad.domain; from=<foo@good.domain> to=<foo@porcupine.org> proto=SMTP helo=<bad.domain>
270554 5.7.1 <bad.domain>: Helo command rejected: match bad.domain
271>>> helo good.domain
272OK
273>>> mail foo@bad.domain
274OK
275>>> rcpt foo@porcupine.org
276./smtpd_check: <queue id>: reject: RCPT from foo[131.155.210.17]: 554 5.7.1 <foo@bad.domain>: Sender address rejected: match bad.domain; from=<foo@bad.domain> to=<foo@porcupine.org> proto=SMTP helo=<good.domain>
277554 5.7.1 <foo@bad.domain>: Sender address rejected: match bad.domain
278>>> #
279>>> # FQDN restrictions
280>>> #
281>>> helo_restrictions reject_non_fqdn_hostname
282OK
283>>> sender_restrictions reject_non_fqdn_sender
284OK
285>>> recipient_restrictions reject_non_fqdn_recipient
286OK
287>>> helo foo.bar.
288OK
289>>> helo foo.bar
290OK
291>>> helo foo
292./smtpd_check: <queue id>: reject: HELO from foo[131.155.210.17]: 504 5.5.2 <foo>: Helo command rejected: need fully-qualified hostname; from=<foo@bad.domain> proto=SMTP helo=<foo>
293504 5.5.2 <foo>: Helo command rejected: need fully-qualified hostname
294>>> mail foo@foo.bar.
295OK
296>>> mail foo@foo.bar
297OK
298>>> mail foo@foo
299./smtpd_check: <queue id>: reject: MAIL from foo[131.155.210.17]: 504 5.5.2 <foo@foo>: Sender address rejected: need fully-qualified address; from=<foo@foo> proto=SMTP helo=<foo>
300504 5.5.2 <foo@foo>: Sender address rejected: need fully-qualified address
301>>> mail foo
302./smtpd_check: <queue id>: reject: MAIL from foo[131.155.210.17]: 504 5.5.2 <foo>: Sender address rejected: need fully-qualified address; from=<foo> proto=SMTP helo=<foo>
303504 5.5.2 <foo>: Sender address rejected: need fully-qualified address
304>>> rcpt foo@foo.bar.
305OK
306>>> rcpt foo@foo.bar
307OK
308>>> rcpt foo@foo
309./smtpd_check: <queue id>: reject: RCPT from foo[131.155.210.17]: 504 5.5.2 <foo@foo>: Recipient address rejected: need fully-qualified address; from=<foo> to=<foo@foo> proto=SMTP helo=<foo>
310504 5.5.2 <foo@foo>: Recipient address rejected: need fully-qualified address
311>>> rcpt foo
312./smtpd_check: <queue id>: reject: RCPT from foo[131.155.210.17]: 504 5.5.2 <foo>: Recipient address rejected: need fully-qualified address; from=<foo> to=<foo> proto=SMTP helo=<foo>
313504 5.5.2 <foo>: Recipient address rejected: need fully-qualified address
314>>> #
315>>> # Numerical HELO checks
316>>> #
317>>> helo_restrictions permit_naked_ip_address,reject_non_fqdn_hostname
318OK
319>>> helo [1.2.3.4]
320./smtpd_check: warning: restriction permit_naked_ip_address is deprecated. Use permit_mynetworks instead
321OK
322>>> helo [321.255.255.255]
323./smtpd_check: warning: restriction permit_naked_ip_address is deprecated. Use permit_mynetworks instead
324./smtpd_check: <queue id>: reject: HELO from foo[131.155.210.17]: 501 5.5.2 <[321.255.255.255]>: Helo command rejected: invalid ip address; from=<foo> proto=SMTP helo=<[321.255.255.255]>
325501 5.5.2 <[321.255.255.255]>: Helo command rejected: invalid ip address
326>>> helo [0.255.255.255]
327./smtpd_check: warning: restriction permit_naked_ip_address is deprecated. Use permit_mynetworks instead
328./smtpd_check: <queue id>: reject: HELO from foo[131.155.210.17]: 501 5.5.2 <[0.255.255.255]>: Helo command rejected: invalid ip address; from=<foo> proto=SMTP helo=<[0.255.255.255]>
329501 5.5.2 <[0.255.255.255]>: Helo command rejected: invalid ip address
330>>> helo [1.2.3.321]
331./smtpd_check: warning: restriction permit_naked_ip_address is deprecated. Use permit_mynetworks instead
332./smtpd_check: <queue id>: reject: HELO from foo[131.155.210.17]: 501 5.5.2 <[1.2.3.321]>: Helo command rejected: invalid ip address; from=<foo> proto=SMTP helo=<[1.2.3.321]>
333501 5.5.2 <[1.2.3.321]>: Helo command rejected: invalid ip address
334>>> helo [1.2.3]
335./smtpd_check: warning: restriction permit_naked_ip_address is deprecated. Use permit_mynetworks instead
336./smtpd_check: <queue id>: reject: HELO from foo[131.155.210.17]: 501 5.5.2 <[1.2.3]>: Helo command rejected: invalid ip address; from=<foo> proto=SMTP helo=<[1.2.3]>
337501 5.5.2 <[1.2.3]>: Helo command rejected: invalid ip address
338>>> helo [1.2.3.4.5]
339./smtpd_check: warning: restriction permit_naked_ip_address is deprecated. Use permit_mynetworks instead
340./smtpd_check: <queue id>: reject: HELO from foo[131.155.210.17]: 501 5.5.2 <[1.2.3.4.5]>: Helo command rejected: invalid ip address; from=<foo> proto=SMTP helo=<[1.2.3.4.5]>
341501 5.5.2 <[1.2.3.4.5]>: Helo command rejected: invalid ip address
342>>> helo [1..2.3.4]
343./smtpd_check: warning: restriction permit_naked_ip_address is deprecated. Use permit_mynetworks instead
344./smtpd_check: <queue id>: reject: HELO from foo[131.155.210.17]: 501 5.5.2 <[1..2.3.4]>: Helo command rejected: invalid ip address; from=<foo> proto=SMTP helo=<[1..2.3.4]>
345501 5.5.2 <[1..2.3.4]>: Helo command rejected: invalid ip address
346>>> helo [.1.2.3.4]
347./smtpd_check: warning: restriction permit_naked_ip_address is deprecated. Use permit_mynetworks instead
348./smtpd_check: <queue id>: reject: HELO from foo[131.155.210.17]: 501 5.5.2 <[.1.2.3.4]>: Helo command rejected: invalid ip address; from=<foo> proto=SMTP helo=<[.1.2.3.4]>
349501 5.5.2 <[.1.2.3.4]>: Helo command rejected: invalid ip address
350>>> helo [1.2.3.4.5.]
351./smtpd_check: warning: restriction permit_naked_ip_address is deprecated. Use permit_mynetworks instead
352./smtpd_check: <queue id>: reject: HELO from foo[131.155.210.17]: 501 5.5.2 <[1.2.3.4.5.]>: Helo command rejected: invalid ip address; from=<foo> proto=SMTP helo=<[1.2.3.4.5.]>
353501 5.5.2 <[1.2.3.4.5.]>: Helo command rejected: invalid ip address
354>>> helo 1.2.3.4
355./smtpd_check: warning: restriction permit_naked_ip_address is deprecated. Use permit_mynetworks instead
356OK
357>>> helo 321.255.255.255
358./smtpd_check: warning: restriction permit_naked_ip_address is deprecated. Use permit_mynetworks instead
359./smtpd_check: <queue id>: reject: HELO from foo[131.155.210.17]: 501 5.5.2 <321.255.255.255>: Helo command rejected: invalid ip address; from=<foo> proto=SMTP helo=<321.255.255.255>
360501 5.5.2 <321.255.255.255>: Helo command rejected: invalid ip address
361>>> helo 0.255.255.255
362./smtpd_check: warning: restriction permit_naked_ip_address is deprecated. Use permit_mynetworks instead
363./smtpd_check: <queue id>: reject: HELO from foo[131.155.210.17]: 501 5.5.2 <0.255.255.255>: Helo command rejected: invalid ip address; from=<foo> proto=SMTP helo=<0.255.255.255>
364501 5.5.2 <0.255.255.255>: Helo command rejected: invalid ip address
365>>> helo 1.2.3.321
366./smtpd_check: warning: restriction permit_naked_ip_address is deprecated. Use permit_mynetworks instead
367./smtpd_check: <queue id>: reject: HELO from foo[131.155.210.17]: 501 5.5.2 <1.2.3.321>: Helo command rejected: invalid ip address; from=<foo> proto=SMTP helo=<1.2.3.321>
368501 5.5.2 <1.2.3.321>: Helo command rejected: invalid ip address
369>>> helo 1.2.3
370./smtpd_check: warning: restriction permit_naked_ip_address is deprecated. Use permit_mynetworks instead
371./smtpd_check: <queue id>: reject: HELO from foo[131.155.210.17]: 501 5.5.2 <1.2.3>: Helo command rejected: invalid ip address; from=<foo> proto=SMTP helo=<1.2.3>
372501 5.5.2 <1.2.3>: Helo command rejected: invalid ip address
373>>> helo 1.2.3.4.5
374./smtpd_check: warning: restriction permit_naked_ip_address is deprecated. Use permit_mynetworks instead
375./smtpd_check: <queue id>: reject: HELO from foo[131.155.210.17]: 501 5.5.2 <1.2.3.4.5>: Helo command rejected: invalid ip address; from=<foo> proto=SMTP helo=<1.2.3.4.5>
376501 5.5.2 <1.2.3.4.5>: Helo command rejected: invalid ip address
377>>> helo 1..2.3.4
378./smtpd_check: warning: restriction permit_naked_ip_address is deprecated. Use permit_mynetworks instead
379./smtpd_check: <queue id>: reject: HELO from foo[131.155.210.17]: 501 5.5.2 <1..2.3.4>: Helo command rejected: invalid ip address; from=<foo> proto=SMTP helo=<1..2.3.4>
380501 5.5.2 <1..2.3.4>: Helo command rejected: invalid ip address
381>>> helo .1.2.3.4
382./smtpd_check: warning: restriction permit_naked_ip_address is deprecated. Use permit_mynetworks instead
383./smtpd_check: <queue id>: reject: HELO from foo[131.155.210.17]: 501 5.5.2 <.1.2.3.4>: Helo command rejected: invalid ip address; from=<foo> proto=SMTP helo=<.1.2.3.4>
384501 5.5.2 <.1.2.3.4>: Helo command rejected: invalid ip address
385>>> helo 1.2.3.4.5.
386./smtpd_check: warning: restriction permit_naked_ip_address is deprecated. Use permit_mynetworks instead
387./smtpd_check: <queue id>: reject: HELO from foo[131.155.210.17]: 501 5.5.2 <1.2.3.4.5.>: Helo command rejected: invalid ip address; from=<foo> proto=SMTP helo=<1.2.3.4.5.>
388501 5.5.2 <1.2.3.4.5.>: Helo command rejected: invalid ip address
389>>> #
390>>> # The defer restriction
391>>> #
392>>> defer_code 444
393OK
394>>> helo_restrictions defer
395OK
396>>> helo foobar
397./smtpd_check: <queue id>: reject: HELO from foo[131.155.210.17]: 444 4.3.2 <foobar>: Helo command rejected: Try again later; from=<foo> proto=SMTP helo=<foobar>
398444 4.3.2 <foobar>: Helo command rejected: Try again later
399