diff options
author | Eric S. Raymond <esr@thyrsus.com> | 1999-08-21 06:05:51 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 1999-08-21 06:05:51 +0000 |
commit | 1b511d27a3d871f805529cc87993b5385996bb76 (patch) | |
tree | 094f37e7de6381c924d0bd7297d0f772760f2c26 | |
parent | 21eefeaa5abe2ba5e15bfd7913b173801fe52f30 (diff) | |
download | fetchmail-1b511d27a3d871f805529cc87993b5385996bb76.tar.gz fetchmail-1b511d27a3d871f805529cc87993b5385996bb76.tar.bz2 fetchmail-1b511d27a3d871f805529cc87993b5385996bb76.zip |
Don't bounce mail on transient errors.
svn path=/trunk/; revision=2543
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | sink.c | 14 |
2 files changed, 8 insertions, 7 deletions
@@ -17,6 +17,7 @@ fetchmail-5.0.7 (): * Variouas small option-processing fixes. * Teach fetchmailconf about HP OpenMail. * SunOS compilation fixes. +* Steve Dodd's fix to not send bouncemail on transient errors. There are 263 people on fetchmail-friends and 421 on fetchmail-announce. @@ -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); } } |