--- /dev/null
+--- postfix-2.2.3/src/smtpd/smtpd.c~ 2005-09-08 15:51:27.479075120 +0200
++++ postfix-2.2.3/src/smtpd/smtpd.c 2005-09-08 17:28:05.934984184 +0200
+@@ -2076,8 +2076,11 @@
+ if (state->err == CLEANUP_STAT_OK) {
+ (void) smtpd_proxy_cmd(state, SMTPD_PROX_WANT_ANY, ".");
+ if (state->err == CLEANUP_STAT_OK &&
+- *STR(state->proxy_buffer) != '2')
++ *STR(state->proxy_buffer) != '2') {
+ state->err = CLEANUP_STAT_CONT;
++ smtpd_check_reject(state, MAIL_ERROR_POLICY,
++ "%s", STR(state->proxy_buffer));
++ }
+ } else {
+ state->error_mask |= MAIL_ERROR_SOFTWARE;
+ state->err |= CLEANUP_STAT_PROXY;
+--- postfix-2.2.3/src/smtpd/smtpd_check.c~ 2005-09-08 15:51:27.482074664 +0200
++++ postfix-2.2.3/src/smtpd/smtpd_check.c 2005-09-08 17:28:05.192097120 +0200
+@@ -764,7 +764,7 @@
+
+ /* smtpd_check_reject - do the boring things that must be done */
+
+-static int smtpd_check_reject(SMTPD_STATE *state, int error_class,
++int smtpd_check_reject(SMTPD_STATE *state, int error_class,
+ char *format,...)
+ {
+ va_list ap;
+--- postfix-2.2.3/src/smtpd/smtpd_check.h~ 2005-09-08 15:51:27.483074512 +0200
++++ postfix-2.2.3/src/smtpd/smtpd_check.h 2005-09-08 17:29:17.952035928 +0200
+@@ -25,6 +25,7 @@
+ extern char *smtpd_check_data(SMTPD_STATE *);
+ extern char *smtpd_check_eod(SMTPD_STATE *);
+ extern char *smtpd_check_policy(SMTPD_STATE *, char *);
++extern int smtpd_check_reject(SMTPD_STATE *state, int error_class, char *format,...);
+
+ /* LICENSE
+ /* .ad