[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Issue tracker housecleaning: SVN-1804

From: Yasuhito FUTATSUKI <futatuki_at_poem.co.jp>
Date: Fri, 25 Oct 2019 07:19:52 +0900

I'm sorry I didn't point out exeptions caused in smtplib, and
too late to reply.

(I already read
on Wed, 23 Oct 2019 11:48:28 -0400 from Nathan and
on Thu, 24 Oct 2019 02:37:17 +0000 from Daniel,
but my this reply is not related to them immediately, so I reply to
on Sun, 20 Oct 2019 00:46:25 -0400 from Nathan again.)

On 2019/10/20 13:46, Nathan Hartman wrote:
> From the "Closing Old Issues" department:
> SVN-1804: "mailer.py doesn't catch SMTPRecipientsRefused in finish()"
> * Created and last updated in 2004.
> * No comments in more than 15 years.
> From my reading of this issue, the impact is that any mail delivery
> hiccup may cause this hook script to exit with an unhandled exception,
> impeding any further mails that it might have sent.
> Looking at mailer.py in trunk_at_HEAD, SMTPOutput.finish() doesn't handle
> any exceptions. In particular:
> SMTP.login may raise:
> * SMTPHeloError
> * SMTPAuthenticationError
> * SMTPNotSupportedError
> * SMTPException
> SMTP.sendmail may raise:
> * SMTPRecipientsRefused
> * SMTPHeloError
> * SMTPSenderRefused
> * SMTPDataError
> * SMTPNotSupportedError
> Any of these exceptions cause the same impact. The same is probably
> true of any unhandled exceptions throughout the script, but SMTP errors
> are completely outside our control.

Exception on SMTP.login will be repeated unless its response code indicates
temporary error (3XX), because each try uses same parameters. On the other
side, on SMTP.sendmail, with other sender, recipient, or even message data,
try after failure may succeed, of course it depend on kind of exception.
So I think those are not the same impact. Some of them are fatal and
others are not. I guess that is why the reporter mensions only
SMTPRecipientRefused in those exceptions.

As how far we analyze and handle errors honestly is a trade-off
between simplicity and precision, I don't want and don't aim to analyze
too deep.


Yasuhito FUTATSUKI <futatuki_at_poem.co.jp>
Received on 2019-10-25 00:20:46 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.