From 51db3c9ec229e94bdb38cab912131fda9a41b681 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Tue, 12 May 1998 17:04:43 +0000 Subject: Explain why no bouncemail. svn path=/trunk/; revision=1768 --- driver.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'driver.c') diff --git a/driver.c b/driver.c index dea10ba5..2a45bfcb 100644 --- a/driver.c +++ b/driver.c @@ -1254,6 +1254,9 @@ int num; /* index of message */ * This is a potential problem if the MTAs further upstream * didn't pass canonicalized From/Return-Path lines, *and* the * local SMTP listener insists on them. + * + * None of these error conditions generates bouncemail. Comments + * below explain for each case why this is so. */ ap = (return_path[0]) ? return_path : user; if (SMTP_from(ctl->smtp_socket, ap, options) != SM_OK) @@ -1272,6 +1275,10 @@ int num; /* index of message */ * 571 = sendmail's "unsolicited email refused" * 501 = exim's old antispam response * 550 = exim's new antispam response (temporary) + * + * We don't send bouncemail on antispam failures because + * we don't want the scumbags to know the address is even + * valid. */ SMTP_rset(ctl->smtp_socket); /* required by RFC1870 */ free(headers); @@ -1294,7 +1301,12 @@ int num; /* index of message */ * Temporary out-of-queue-space condition on the * ESMTP server. Don't try to ship the message, * and suppress deletion so it can be retried on - * a future retrieval cycle. + * a future retrieval cycle. + * + * Bouncemail *might* be appropriate here as a delay + * notification. But it's not really necessary because + * this is not an actual failure, we're very likely to be + * able to recover on the next cycle. */ SMTP_rset(ctl->smtp_socket); /* required by RFC1870 */ free(headers); @@ -1307,6 +1319,11 @@ int num; /* index of message */ * Permanent no-go condition on the * ESMTP server. Don't try to ship the message, * and allow it to be deleted. + * + * Bouncemail would be appropriate for 552, but in these + * latter days 553 usually means a spammer is trying to + * cover his tracks. We'd rather deny the scumbags any + * feedback that the address is valid. */ SMTP_rset(ctl->smtp_socket); /* required by RFC1870 */ free(headers); -- cgit v1.2.3