aboutsummaryrefslogtreecommitdiffstats
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
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
-rw-r--r--NEWS1
-rw-r--r--sink.c14
2 files changed, 8 insertions, 7 deletions
diff --git a/NEWS b/NEWS
index b42a69e2..f504749a 100644
--- a/NEWS
+++ b/NEWS
@@ -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.
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);
}
}