actually, I think the issue is that 'bzr-email' always tries 'STARTTLS' regardless if the server says it is available.
The best fix would be to change bzr-email to use bzrlib.smtp_connection instead of its own. There we have:
if self._connection.has_extn("starttls"): code, resp = self._connection.starttls() if not (200 <= code <= 299): raise SMTPError("server refused STARTTLS: %d %s" % (code, resp)) # Say EHLO again, to check for newly revealed features code, resp = self._connection.ehlo() if not (200 <= code <= 299): raise SMTPError("server refused EHLO: %d %s" % (code, resp))
Or possibly fix bzr-email itself with that sort of fix.
actually, I think the issue is that 'bzr-email' always tries 'STARTTLS' regardless if the server says it is available.
The best fix would be to change bzr-email to use bzrlib. smtp_connection instead of its own. There we have:
if self._connectio n.has_extn( "starttls" ): n.starttls( ) n.ehlo( )
code, resp = self._connectio
if not (200 <= code <= 299):
raise SMTPError("server refused STARTTLS: %d %s" % (code, resp))
# Say EHLO again, to check for newly revealed features
code, resp = self._connectio
if not (200 <= code <= 299):
raise SMTPError("server refused EHLO: %d %s" % (code, resp))
Or possibly fix bzr-email itself with that sort of fix.