aboutsummaryrefslogtreecommitdiffstats
path: root/fetchmail.c
diff options
context:
space:
mode:
authorMatthias Andree <matthias.andree@gmx.de>2009-05-24 14:45:17 +0000
committerMatthias Andree <matthias.andree@gmx.de>2009-05-24 14:45:17 +0000
commit570e3ef1831cdb13a1baf846029ffa1cb7ec1b79 (patch)
treedd13bcd23351a7ac931457b9535a2b670dc9dda8 /fetchmail.c
parentc74e0b613d3d4782a7ad34af1f9e14ebb3776e1b (diff)
downloadfetchmail-570e3ef1831cdb13a1baf846029ffa1cb7ec1b79.tar.gz
fetchmail-570e3ef1831cdb13a1baf846029ffa1cb7ec1b79.tar.bz2
fetchmail-570e3ef1831cdb13a1baf846029ffa1cb7ec1b79.zip
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
Diffstat (limited to 'fetchmail.c')
-rw-r--r--fetchmail.c8
1 files changed, 8 insertions, 0 deletions
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))