mirror of
https://github.com/certbot/certbot.git
synced 2026-08-03 00:22:04 +02:00
@@ -146,8 +146,7 @@ def perform_registration(acme, config):
|
|||||||
try:
|
try:
|
||||||
return acme.register(messages.NewRegistration.from_data(email=config.email))
|
return acme.register(messages.NewRegistration.from_data(email=config.email))
|
||||||
except messages.Error as e:
|
except messages.Error as e:
|
||||||
err = repr(e)
|
if e.typ == "urn:acme:error:invalidEmail":
|
||||||
if "MX record" in err or "Validation of contact mailto" in err:
|
|
||||||
config.namespace.email = display_ops.get_email(more=True, invalid=True)
|
config.namespace.email = display_ops.get_email(more=True, invalid=True)
|
||||||
return perform_registration(acme, config)
|
return perform_registration(acme, config)
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -63,8 +63,8 @@ class RegisterTest(unittest.TestCase):
|
|||||||
@mock.patch("letsencrypt.client.display_ops.get_email")
|
@mock.patch("letsencrypt.client.display_ops.get_email")
|
||||||
def test_email_retry(self, _rep, mock_get_email):
|
def test_email_retry(self, _rep, mock_get_email):
|
||||||
from acme import messages
|
from acme import messages
|
||||||
msg = "Validation of contact mailto:sousaphone@improbablylongggstring.tld failed"
|
msg = "DNS problem: NXDOMAIN looking up MX for example.com"
|
||||||
mx_err = messages.Error(detail=msg, typ="malformed", title="title")
|
mx_err = messages.Error(detail=msg, typ="urn:acme:error:invalidEmail")
|
||||||
with mock.patch("letsencrypt.client.acme_client.Client") as mock_client:
|
with mock.patch("letsencrypt.client.acme_client.Client") as mock_client:
|
||||||
mock_client().register.side_effect = [mx_err, mock.MagicMock()]
|
mock_client().register.side_effect = [mx_err, mock.MagicMock()]
|
||||||
self._call()
|
self._call()
|
||||||
|
|||||||
Reference in New Issue
Block a user