aboutsummaryrefslogtreecommitdiffstats
path: root/sink.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>1999-08-21 06:05:51 +0000
committerEric S. Raymond <esr@thyrsus.com>1999-08-21 06:05:51 +0000
commit1b511d27a3d871f805529cc87993b5385996bb76 (patch)
tree094f37e7de6381c924d0bd7297d0f772760f2c26 /sink.c
parent21eefeaa5abe2ba5e15bfd7913b173801fe52f30 (diff)
downloadfetchmail-1b511d27a3d871f805529cc87993b5385996bb76.tar.gz
fetchmail-1b511d27a3d871f805529cc87993b5385996bb76.tar.bz2
fetchmail-1b511d27a3d871f805529cc87993b5385996bb76.zip
Don't bounce mail on transient errors.
svn path=/trunk/; revision=2543
Diffstat (limited to 'sink.c')
-rw-r--r--sink.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/sink.c b/sink.c
index 0421f2c7..52efa37a 100644
--- a/sink.c
+++ b/sink.c
@@ -460,14 +460,14 @@ static int handle_smtp_report(struct query *ctl, struct msgblk *msg)
1, responses);
return(PS_REFUSED);
- default: /* bounce the error back to the sender */
+ default: /* bounce non-transient errors back to the sender */
SMTP_rset(ctl->smtp_socket); /* stay on the safe side */
- if (send_bouncemail(ctl, msg, XMIT_ACCEPT,
- "General SMTP/ESMTP error.\r\n",
- 1, responses))
- return(run.bouncemail ? PS_REFUSED : PS_TRANSIENT);
- else
- return(PS_TRANSIENT);
+ if (smtperr >= 500 && smtperr <= 599)
+ if (send_bouncemail(ctl, msg, XMIT_ACCEPT,
+ "General SMTP/ESMTP error.\r\n",
+ 1, responses))
+ return(run.bouncemail ? PS_REFUSED : PS_TRANSIENT);
+ return(PS_TRANSIENT);
}
}