From 570e3ef1831cdb13a1baf846029ffa1cb7ec1b79 Mon Sep 17 00:00:00 2001 From: Matthias Andree Date: Sun, 24 May 2009 14:45:17 +0000 Subject: Treat permanent delivery errors as temporary (configurable). Fetchmail no longer drops permanently undelivered messages by default, to match historic documentation. It does this by adding a new "softbounce" option, see below. Fixes Debian Bug#471283, demotes Debian Bug#494418 to wishlist. There is a new "softbounce" global option that prevents the deletion of messages that have not been forwarded. It defaults to "true" for fetchmail 6.3.X in order to match historic documentation. This may change its default in the next major release. NOTE: untested. svn path=/branches/BRANCH_6-3/; revision=5315 --- fetchmail.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'fetchmail.c') diff --git a/fetchmail.c b/fetchmail.c index 2832397a..264b7e39 100644 --- a/fetchmail.c +++ b/fetchmail.c @@ -987,6 +987,7 @@ static int load_params(int argc, char **argv, int optind) char *p; run.bouncemail = TRUE; + run.softbounce = TRUE; /* treat permanent errors as temporary */ run.spambounce = FALSE; /* don't bounce back to innocent bystanders */ memset(&def_opts, '\0', sizeof(struct query)); @@ -1112,6 +1113,8 @@ static int load_params(int argc, char **argv, int optind) run.postmaster = cmd_run.postmaster; if (cmd_run.bouncemail) run.bouncemail = cmd_run.bouncemail; + if (cmd_run.softbounce) + run.softbounce = cmd_run.softbounce; /* check and daemon options are not compatible */ if (check_only && run.poll_interval) @@ -1536,6 +1539,11 @@ static void dump_params (struct runctl *runp, else if (outlevel >= O_VERBOSE) printf(GT_("Fetchmail will direct error mail to the sender.\n")); + if (!runp->softbounce) + printf(GT_("Fetchmail will treat permanent errors as permanent (drop messsages).\n")); + else if (outlevel >= O_VERBOSE) + printf(GT_("Fetchmail will treat permanent errors as temporary (keep messages).\n")); + for (ctl = querylist; ctl; ctl = ctl->next) { if (!ctl->active || (implicit && ctl->server.skip)) -- cgit v1.2.3