diff --git a/src/calibre/gui2/wizard/send_email.py b/src/calibre/gui2/wizard/send_email.py index 8f41280516..38c92e5782 100644 --- a/src/calibre/gui2/wizard/send_email.py +++ b/src/calibre/gui2/wizard/send_email.py @@ -67,12 +67,17 @@ class TestEmail(QDialog): t.start() def run_test(self): - try: - tb = self.test_func(str(self.to.text())) or _('Email successfully sent') - except Exception: - import traceback - tb = traceback.format_exc() - self.test_done.emit(tb) + from email.utils import parseaddr + addr = parseaddr(self.to.text().strip())[-1] + if not addr: + tb = f'{self.to.text().strip()} is not a valid email address' + else: + try: + tb = self.test_func(addr) or _('Email successfully sent') + except Exception: + import traceback + tb = traceback.format_exc() + self.test_done.emit(tb) def on_test_done(self, txt): if self.isVisible():