mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Allow using non-ascii chars in email passwords
Fixes #1202825 [SMTP password with special characters not stored correctly](https://bugs.launchpad.net/calibre/+bug/1202825)
This commit is contained in:
parent
6298b1d059
commit
54054c1c9f
@ -113,7 +113,7 @@ class Sendmail(object):
|
|||||||
verbose=1,
|
verbose=1,
|
||||||
relay=opts.relay_host,
|
relay=opts.relay_host,
|
||||||
username=opts.relay_username,
|
username=opts.relay_username,
|
||||||
password=unhexlify(opts.relay_password), port=opts.relay_port,
|
password=unhexlify(opts.relay_password).decode('utf-8'), port=opts.relay_port,
|
||||||
encryption=opts.encryption,
|
encryption=opts.encryption,
|
||||||
debug_output=log.debug)
|
debug_output=log.debug)
|
||||||
finally:
|
finally:
|
||||||
|
@ -32,7 +32,7 @@ class TestEmail(QDialog, TE_Dialog):
|
|||||||
self.to.setText(pa)
|
self.to.setText(pa)
|
||||||
if opts.relay_host:
|
if opts.relay_host:
|
||||||
self.label.setText(_('Using: %(un)s:%(pw)s@%(host)s:%(port)s and %(enc)s encryption')%
|
self.label.setText(_('Using: %(un)s:%(pw)s@%(host)s:%(port)s and %(enc)s encryption')%
|
||||||
dict(un=opts.relay_username, pw=unhexlify(opts.relay_password),
|
dict(un=opts.relay_username, pw=unhexlify(opts.relay_password).decode('utf-8'),
|
||||||
host=opts.relay_host, port=opts.relay_port, enc=opts.encryption))
|
host=opts.relay_host, port=opts.relay_port, enc=opts.encryption))
|
||||||
|
|
||||||
def test(self, *args):
|
def test(self, *args):
|
||||||
@ -129,7 +129,7 @@ class SendEmail(QWidget, Ui_Form):
|
|||||||
self.relay_username.setText(opts.relay_username)
|
self.relay_username.setText(opts.relay_username)
|
||||||
self.relay_username.textChanged.connect(self.changed)
|
self.relay_username.textChanged.connect(self.changed)
|
||||||
if opts.relay_password:
|
if opts.relay_password:
|
||||||
self.relay_password.setText(unhexlify(opts.relay_password))
|
self.relay_password.setText(unhexlify(opts.relay_password).decode('utf-8'))
|
||||||
self.relay_password.textChanged.connect(self.changed)
|
self.relay_password.textChanged.connect(self.changed)
|
||||||
getattr(self, 'relay_'+opts.encryption.lower()).setChecked(True)
|
getattr(self, 'relay_'+opts.encryption.lower()).setChecked(True)
|
||||||
self.relay_tls.toggled.connect(self.changed)
|
self.relay_tls.toggled.connect(self.changed)
|
||||||
@ -169,7 +169,7 @@ class SendEmail(QWidget, Ui_Form):
|
|||||||
sendmail(msg, from_=opts.from_, to=[to],
|
sendmail(msg, from_=opts.from_, to=[to],
|
||||||
verbose=3, timeout=30, relay=opts.relay_host,
|
verbose=3, timeout=30, relay=opts.relay_host,
|
||||||
username=opts.relay_username,
|
username=opts.relay_username,
|
||||||
password=unhexlify(opts.relay_password),
|
password=unhexlify(opts.relay_password).decode('utf-8'),
|
||||||
encryption=opts.encryption, port=opts.relay_port)
|
encryption=opts.encryption, port=opts.relay_port)
|
||||||
except:
|
except:
|
||||||
import traceback
|
import traceback
|
||||||
@ -248,7 +248,7 @@ class SendEmail(QWidget, Ui_Form):
|
|||||||
conf.set('relay_host', host if host else None)
|
conf.set('relay_host', host if host else None)
|
||||||
conf.set('relay_port', self.relay_port.value())
|
conf.set('relay_port', self.relay_port.value())
|
||||||
conf.set('relay_username', username if username else None)
|
conf.set('relay_username', username if username else None)
|
||||||
conf.set('relay_password', hexlify(password))
|
conf.set('relay_password', hexlify(password.encode('utf-8')))
|
||||||
conf.set('encryption', enc_method)
|
conf.set('encryption', enc_method)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user