diff options
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | TODO.txt | 2 | ||||
-rw-r--r-- | sink.c | 12 |
3 files changed, 16 insertions, 2 deletions
@@ -93,6 +93,10 @@ fetchmail 6.3.10 (not yet released): * The ESMTP/LMTP client will now apply an application-specific timeout while waiting for the EHLO/LHLO response, rather than wait for the server or TCP connection timeout. +* Treat 530 errors as temporary, so as not to delete messages on configuration + errors. Partially taken from Petr Cerny's patch in Novell Bugzilla #246829. + The 501 part of said patch was not added, as the maintainer is not convinced + 501 is a temporary condition, and softbounce takes care of this anyways. # CHANGES * Make the comparison of the SSL fingerprints case insensitive, to @@ -6,8 +6,6 @@ soon - MUST: See http://sourceware.org/bugzilla/show_bug.cgi?id=6453 soon - SHOULD: -- https://bugzilla.novell.com/show_bug.cgi?id=246829 - recycle part of - patch (STARTTLS required; 5XX error code in contradiction with manual?) - allow \Deleted without \Seen, rf. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=466299 - document IMAP4 ACL requirements @@ -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) |