Preferences/ConfigurationPages/EmailPage.py

Wed, 27 Feb 2019 19:48:11 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 27 Feb 2019 19:48:11 +0100
changeset 6823
55bda7c2404d
parent 6817
8fb29a716d1a
child 6825
e659bb96cdfa
permissions
-rw-r--r--

EmailPage: refined the email configuration page with respect to the Gmail messages.

0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
6645
ad476851d7e0 Updated copyright for 2019.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6560
diff changeset
3 # Copyright (c) 2006 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the Email configuration page.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
3145
a9de05d4a22f # __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 3060
diff changeset
10 from __future__ import unicode_literals
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2302
diff changeset
11
1032
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
12 import smtplib
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
13 import socket
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
14
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3539
diff changeset
15 from PyQt5.QtCore import pyqtSlot, Qt
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3539
diff changeset
16 from PyQt5.QtGui import QCursor
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3539
diff changeset
17 from PyQt5.QtWidgets import QApplication
1032
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
18
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
19 from E5Gui import E5MessageBox
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
20
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
21 from .ConfigurationPageBase import ConfigurationPageBase
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
22 from .Ui_EmailPage import Ui_EmailPage
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 import Preferences
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
26
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 class EmailPage(ConfigurationPageBase, Ui_EmailPage):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 Class implementing the Email configuration page.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 def __init__(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 Constructor
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 """
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2302
diff changeset
35 super(EmailPage, self).__init__()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 self.setupUi(self)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 self.setObjectName("EmailPage")
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38
6559
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
39 self.__helpDialog = None
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
40
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 # set initial values
5769
944c04cec861 Added the capability to send these emails via Google Mail using OAuth2 authentication.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5464
diff changeset
42 try:
944c04cec861 Added the capability to send these emails via Google Mail using OAuth2 authentication.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5464
diff changeset
43 import googleapiclient # __IGNORE_WARNING__
944c04cec861 Added the capability to send these emails via Google Mail using OAuth2 authentication.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5464
diff changeset
44 self.googleMailCheckBox.setChecked(
944c04cec861 Added the capability to send these emails via Google Mail using OAuth2 authentication.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5464
diff changeset
45 Preferences.getUser("UseGoogleMailOAuth2"))
6560
12bf4c8aa165 EmailPage: improved explanatory strings and fixed an issue introduced by the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6559
diff changeset
46
6817
8fb29a716d1a E5GoogleMail: changed code to no longer use the deprecated oauth2client library.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6778
diff changeset
47 from E5Network.E5GoogleMail import isClientSecretFileAvailable
8fb29a716d1a E5GoogleMail: changed code to no longer use the deprecated oauth2client library.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6778
diff changeset
48 if not isClientSecretFileAvailable():
6560
12bf4c8aa165 EmailPage: improved explanatory strings and fixed an issue introduced by the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6559
diff changeset
49 # credentials file is not installed
12bf4c8aa165 EmailPage: improved explanatory strings and fixed an issue introduced by the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6559
diff changeset
50 self.googleMailCheckBox.setChecked(False)
12bf4c8aa165 EmailPage: improved explanatory strings and fixed an issue introduced by the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6559
diff changeset
51 self.googleMailCheckBox.setEnabled(False)
12bf4c8aa165 EmailPage: improved explanatory strings and fixed an issue introduced by the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6559
diff changeset
52 self.googleMailInfoLabel.setText(self.tr(
12bf4c8aa165 EmailPage: improved explanatory strings and fixed an issue introduced by the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6559
diff changeset
53 "<p>The credentials file is not present. Has the Gmail API"
12bf4c8aa165 EmailPage: improved explanatory strings and fixed an issue introduced by the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6559
diff changeset
54 " been enabled?</p>"))
12bf4c8aa165 EmailPage: improved explanatory strings and fixed an issue introduced by the last change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6559
diff changeset
55 Preferences.setUser("UseGoogleMailOAuth2", False)
5769
944c04cec861 Added the capability to send these emails via Google Mail using OAuth2 authentication.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5464
diff changeset
56 except ImportError:
944c04cec861 Added the capability to send these emails via Google Mail using OAuth2 authentication.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5464
diff changeset
57 # missing libraries, disable Google Mail
6823
55bda7c2404d EmailPage: refined the email configuration page with respect to the Gmail messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6817
diff changeset
58 pipPackages = [
55bda7c2404d EmailPage: refined the email configuration page with respect to the Gmail messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6817
diff changeset
59 "google-api-python-client",
55bda7c2404d EmailPage: refined the email configuration page with respect to the Gmail messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6817
diff changeset
60 "google-auth-oauthlib",
55bda7c2404d EmailPage: refined the email configuration page with respect to the Gmail messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6817
diff changeset
61 ]
55bda7c2404d EmailPage: refined the email configuration page with respect to the Gmail messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6817
diff changeset
62 pipCommand = "pip install --upgrade {0}".format(
55bda7c2404d EmailPage: refined the email configuration page with respect to the Gmail messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6817
diff changeset
63 " ".join(pipPackages))
5769
944c04cec861 Added the capability to send these emails via Google Mail using OAuth2 authentication.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5464
diff changeset
64 self.googleMailCheckBox.setChecked(False)
944c04cec861 Added the capability to send these emails via Google Mail using OAuth2 authentication.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5464
diff changeset
65 self.googleMailCheckBox.setEnabled(False)
944c04cec861 Added the capability to send these emails via Google Mail using OAuth2 authentication.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5464
diff changeset
66 self.googleMailInfoLabel.setText(self.tr(
944c04cec861 Added the capability to send these emails via Google Mail using OAuth2 authentication.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5464
diff changeset
67 "<p>The Google Mail Client API is not installed."
6823
55bda7c2404d EmailPage: refined the email configuration page with respect to the Gmail messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6817
diff changeset
68 " Use <code>{0}</code> to install it.</p>").format(pipCommand))
6559
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
69 self.googleHelpButton.setEnabled(False)
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
70 Preferences.setUser("UseGoogleMailOAuth2", False)
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
71
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 self.mailServerEdit.setText(Preferences.getUser("MailServer"))
388
174d7a46f58d Fixed an issue with the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
73 self.portSpin.setValue(Preferences.getUser("MailServerPort"))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 self.emailEdit.setText(Preferences.getUser("Email"))
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 self.signatureEdit.setPlainText(Preferences.getUser("Signature"))
5443
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
76 self.mailAuthenticationGroup.setChecked(
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 Preferences.getUser("MailServerAuthentication"))
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 self.mailUserEdit.setText(Preferences.getUser("MailServerUser"))
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 388
diff changeset
79 self.mailPasswordEdit.setText(
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 Preferences.getUser("MailServerPassword"))
5443
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
81 encryption = Preferences.getUser("MailServerEncryption")
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
82 if encryption == "TLS":
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
83 self.useTlsButton.setChecked(True)
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
84 elif encryption == "SSL":
5464
1d4f700489f8 Fixed a bug in the Email configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5443
diff changeset
85 self.useSslButton.setChecked(True)
5443
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
86 else:
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
87 self.noEncryptionButton.setChecked(True)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 def save(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 Public slot to save the Email configuration.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 """
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
93 Preferences.setUser(
5769
944c04cec861 Added the capability to send these emails via Google Mail using OAuth2 authentication.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5464
diff changeset
94 "UseGoogleMailOAuth2",
944c04cec861 Added the capability to send these emails via Google Mail using OAuth2 authentication.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5464
diff changeset
95 self.googleMailCheckBox.isChecked())
944c04cec861 Added the capability to send these emails via Google Mail using OAuth2 authentication.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5464
diff changeset
96 Preferences.setUser(
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
97 "MailServer",
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 self.mailServerEdit.text())
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
99 Preferences.setUser(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
100 "MailServerPort",
388
174d7a46f58d Fixed an issue with the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
101 self.portSpin.value())
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
102 Preferences.setUser(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
103 "Email",
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 self.emailEdit.text())
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
105 Preferences.setUser(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
106 "Signature",
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 self.signatureEdit.toPlainText())
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
108 Preferences.setUser(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
109 "MailServerAuthentication",
5443
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
110 self.mailAuthenticationGroup.isChecked())
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
111 Preferences.setUser(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
112 "MailServerUser",
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 self.mailUserEdit.text())
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
114 Preferences.setUser(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
115 "MailServerPassword",
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 self.mailPasswordEdit.text())
5443
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
117 if self.useTlsButton.isChecked():
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
118 encryption = "TLS"
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
119 elif self.useSslButton.isChecked():
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
120 encryption = "SSL"
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
121 else:
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
122 encryption = "No"
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
123 Preferences.setUser("MailServerEncryption", encryption)
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
124
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
125 def __updatePortSpin(self):
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
126 """
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
127 Private slot to set the value of the port spin box depending upon
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
128 the selected encryption method.
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
129 """
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
130 if self.useSslButton.isChecked():
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
131 self.portSpin.setValue(465)
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
132 elif self.useTlsButton.isChecked():
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
133 self.portSpin.setValue(587)
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
134 else:
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
135 self.portSpin.setValue(25)
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
136
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
137 @pyqtSlot(bool)
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
138 def on_noEncryptionButton_toggled(self, checked):
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
139 """
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
140 Private slot handling a change of no encryption button.
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
141
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
142 @param checked current state of the button
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
143 @type bool
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
144 """
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
145 self.__updatePortSpin()
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
146
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
147 @pyqtSlot(bool)
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
148 def on_useSslButton_toggled(self, checked):
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
149 """
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
150 Private slot handling a change of SSL encryption button.
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
151
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
152 @param checked current state of the button
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
153 @type bool
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
154 """
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
155 self.__updatePortSpin()
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
156
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
157 @pyqtSlot(bool)
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
158 def on_useTlsButton_toggled(self, checked):
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
159 """
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
160 Private slot handling a change of TLS encryption button.
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
161
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
162 @param checked current state of the button
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
163 @type bool
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
164 """
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
165 self.__updatePortSpin()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166
1032
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
167 def __updateTestButton(self):
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
168 """
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
169 Private slot to update the enabled state of the test button.
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
170 """
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
171 self.testButton.setEnabled(
5443
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
172 self.mailAuthenticationGroup.isChecked() and
3034
7ce719013078 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3025
diff changeset
173 self.mailUserEdit.text() != "" and
7ce719013078 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3025
diff changeset
174 self.mailPasswordEdit.text() != "" and
1032
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
175 self.mailServerEdit.text() != ""
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
176 )
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
177
5443
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
178 @pyqtSlot(str)
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
179 def on_mailServerEdit_textChanged(self, txt):
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
180 """
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
181 Private slot to handle a change of the text of the mail server edit.
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
182
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
183 @param txt current text of the edit (string)
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
184 @type str
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
185 """
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
186 self.__updateTestButton()
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
187
1032
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
188 @pyqtSlot(bool)
5443
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
189 def on_mailAuthenticationGroup_toggled(self, checked):
1032
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
190 """
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
191 Private slot to handle a change of the state of the authentication
5443
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
192 group.
1032
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
193
5443
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
194 @param checked state of the group (boolean)
1032
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
195 """
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
196 self.__updateTestButton()
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
197
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
198 @pyqtSlot(str)
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
199 def on_mailUserEdit_textChanged(self, txt):
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
200 """
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
201 Private slot to handle a change of the text of the user edit.
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
202
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
203 @param txt current text of the edit (string)
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
204 """
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
205 self.__updateTestButton()
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
206
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
207 @pyqtSlot(str)
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
208 def on_mailPasswordEdit_textChanged(self, txt):
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
209 """
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
210 Private slot to handle a change of the text of the user edit.
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
211
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
212 @param txt current text of the edit (string)
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
213 """
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
214 self.__updateTestButton()
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
215
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
216 @pyqtSlot()
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
217 def on_testButton_clicked(self):
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
218 """
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
219 Private slot to test the mail server login data.
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
220 """
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
221 QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
222 QApplication.processEvents()
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
223 try:
5443
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
224 if self.useSslButton.isChecked():
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
225 server = smtplib.SMTP_SSL(self.mailServerEdit.text(),
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
226 self.portSpin.value(),
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
227 timeout=10)
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
228 else:
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
229 server = smtplib.SMTP(self.mailServerEdit.text(),
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
230 self.portSpin.value(),
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
231 timeout=10)
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
232 if self.useTlsButton.isChecked():
3ef014765648 Added capability to use the SSL encryption method (next to StartTLS) in the built in Email dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
233 server.starttls()
1032
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
234 try:
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
235 server.login(self.mailUserEdit.text(),
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
236 self.mailPasswordEdit.text())
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
237 QApplication.restoreOverrideCursor()
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
238 E5MessageBox.information(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
239 self,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
240 self.tr("Login Test"),
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
241 self.tr("""The login test succeeded."""))
1032
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
242 except (smtplib.SMTPException, socket.error) as e:
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
243 QApplication.restoreOverrideCursor()
3539
0c2dc1446ebf Fixed a few code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3484
diff changeset
244 if isinstance(e, smtplib.SMTPResponseException):
1032
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
245 errorStr = e.smtp_error.decode()
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
246 elif isinstance(e, socket.timeout):
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
247 errorStr = str(e)
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
248 elif isinstance(e, socket.error):
2065
aea3ddf97aca Fixed an issue in the Email config page testing the settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
249 try:
aea3ddf97aca Fixed an issue in the Email config page testing the settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
250 errorStr = e[1]
aea3ddf97aca Fixed an issue in the Email config page testing the settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
251 except TypeError:
aea3ddf97aca Fixed an issue in the Email config page testing the settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
252 errorStr = str(e)
1032
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
253 else:
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
254 errorStr = str(e)
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
255 E5MessageBox.critical(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
256 self,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
257 self.tr("Login Test"),
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
258 self.tr(
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2964
diff changeset
259 """<p>The login test failed.<br>Reason: {0}</p>""")
3038
7fe9a53280bd Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
260 .format(errorStr))
1032
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
261 server.quit()
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
262 except (smtplib.SMTPException, socket.error) as e:
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
263 QApplication.restoreOverrideCursor()
3539
0c2dc1446ebf Fixed a few code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3484
diff changeset
264 if isinstance(e, smtplib.SMTPResponseException):
1032
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
265 errorStr = e.smtp_error.decode()
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
266 elif isinstance(e, socket.timeout):
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
267 errorStr = str(e)
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
268 elif isinstance(e, socket.error):
2065
aea3ddf97aca Fixed an issue in the Email config page testing the settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
269 try:
aea3ddf97aca Fixed an issue in the Email config page testing the settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
270 errorStr = e[1]
aea3ddf97aca Fixed an issue in the Email config page testing the settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
271 except TypeError:
aea3ddf97aca Fixed an issue in the Email config page testing the settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1509
diff changeset
272 errorStr = str(e)
1032
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
273 else:
f7c2e348f6f3 Added function to test the login data to the Email config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 945
diff changeset
274 errorStr = str(e)
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
275 E5MessageBox.critical(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
276 self,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
277 self.tr("Login Test"),
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
278 self.tr("""<p>The login test failed.<br>Reason: {0}</p>""")
3038
7fe9a53280bd Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3034
diff changeset
279 .format(errorStr))
6559
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
280
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
281 @pyqtSlot()
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
282 def on_googleHelpButton_clicked(self):
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
283 """
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
284 Private slot to show some help text "how to turn on the Gmail API".
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
285 """
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
286 if self.__helpDialog is None:
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
287 try:
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
288 from E5Network.E5GoogleMail import GoogleMailHelp
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
289 helpStr = GoogleMailHelp()
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
290 except ImportError:
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
291 helpStr = self.tr(
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
292 "<p>The Google Mail Client API is not installed."
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
293 " Use <code>pip install --upgrade google-api-python-client"
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
294 "</code> to install it.</p>")
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
295
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
296 from E5Gui.E5SimpleHelpDialog import E5SimpleHelpDialog
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
297 self.__helpDialog = E5SimpleHelpDialog(
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
298 title=self.tr("Gmail API Help"),
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
299 helpStr=helpStr, parent=self)
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
300
1265efa7364f Some fixes for configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
301 self.__helpDialog.show()
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
302
1061
3e21869872e3 Fixed PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1032
diff changeset
303
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
304 def create(dlg):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
305 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
306 Module function to create the configuration page.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
307
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
308 @param dlg reference to the configuration dialog
2964
84b65fb9e780 Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2632
diff changeset
309 @return reference to the instantiated page (ConfigurationPageBase)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
310 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
311 page = EmailPage()
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
312 return page

eric ide

mercurial