diff --git a/src/calibre/utils/smtp.py b/src/calibre/utils/smtp.py index 7138b85c6e..3875fd1b83 100644 --- a/src/calibre/utils/smtp.py +++ b/src/calibre/utils/smtp.py @@ -18,7 +18,7 @@ def safe_localhost(): # if that can't be calculated, that we should use a domain literal # instead (essentially an encoded IP address like [A.B.C.D]). fqdn = socket.getfqdn() - if '.' in fqdn: + if '.' in fqdn and fqdn != '.': # Some mail servers have problems with non-ascii local hostnames, see # https://bugs.launchpad.net/bugs/1256549 try: diff --git a/src/calibre/utils/smtplib.py b/src/calibre/utils/smtplib.py index 83a0a7280c..820af3babf 100755 --- a/src/calibre/utils/smtplib.py +++ b/src/calibre/utils/smtplib.py @@ -279,7 +279,7 @@ class SMTP: # if that can't be calculated, that we should use a domain literal # instead (essentially an encoded IP address like [A.B.C.D]). fqdn = socket.getfqdn() - if '.' in fqdn: + if '.' in fqdn and fqdn != '.': self.local_hostname = fqdn else: # We can't find an fqdn hostname, so use a domain literal @@ -800,6 +800,7 @@ class SMTP: self.close() return res + if _have_ssl: class SMTP_SSL(SMTP):