From d56ecd638f753e4430a9f7500ceb4867997af266 Mon Sep 17 00:00:00 2001 From: Matthias Andree Date: Mon, 25 May 2009 15:56:52 +0000 Subject: Always treat 530 SMTP codes as temporary. These are usually configuration errors (missing TLS/SSL). Patch partially taken from Petr Cerny, Novell's Bugzilla 246829. svn path=/branches/BRANCH_6-3/; revision=5339 --- sink.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'sink.c') diff --git a/sink.c b/sink.c index 78630a02..3db9def4 100644 --- a/sink.c +++ b/sink.c @@ -539,6 +539,18 @@ static int handle_smtp_report(struct query *ctl, struct msgblk *msg) free(responses[0]); return(PS_REFUSED); + case 530: /* must issue STARTTLS error */ + /* + * Some SMTP servers insist on encrypted communication + * Let's set PS_TRANSIENT, otherwise all messages to be sent + * over such server would be blackholed - see RFC 3207. + */ + if (outlevel > O_SILENT) + report_complete(stdout, + GT_("SMTP server requires STARTTLS, keeping message.\n")); + free(responses[0]); + return(PS_TRANSIENT); + default: /* bounce non-transient errors back to the sender */ if (smtperr >= 500 && smtperr <= 599) -- cgit v1.2.3