eric6/Preferences/ConfigurationPages/EmailPage.py

changeset 7771
787a6b3f8c9f
parent 7360
9190402e4505
child 7780
41420f82c0ac
equal deleted inserted replaced
7770:49f3377aebf1 7771:787a6b3f8c9f
10 10
11 import smtplib 11 import smtplib
12 import socket 12 import socket
13 import sys 13 import sys
14 14
15 from PyQt5.QtCore import pyqtSlot, Qt 15 from PyQt5.QtCore import pyqtSlot
16 from PyQt5.QtGui import QCursor
17 from PyQt5.QtWidgets import QApplication
18 16
19 from E5Gui import E5MessageBox 17 from E5Gui import E5MessageBox
20 from E5Gui.E5Application import e5App 18 from E5Gui.E5Application import e5App
19 from E5Gui.E5OverrideCursor import E5OverrideCursor
21 20
22 from E5Network.E5GoogleMailHelpers import getInstallCommand, RequiredPackages 21 from E5Network.E5GoogleMailHelpers import getInstallCommand, RequiredPackages
23 22
24 from .ConfigurationPageBase import ConfigurationPageBase 23 from .ConfigurationPageBase import ConfigurationPageBase
25 from .Ui_EmailPage import Ui_EmailPage 24 from .Ui_EmailPage import Ui_EmailPage
198 @pyqtSlot() 197 @pyqtSlot()
199 def on_testButton_clicked(self): 198 def on_testButton_clicked(self):
200 """ 199 """
201 Private slot to test the mail server login data. 200 Private slot to test the mail server login data.
202 """ 201 """
203 QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))
204 QApplication.processEvents()
205 try: 202 try:
206 if self.useSslButton.isChecked(): 203 with E5OverrideCursor():
207 server = smtplib.SMTP_SSL(self.mailServerEdit.text(), 204 if self.useSslButton.isChecked():
205 server = smtplib.SMTP_SSL(self.mailServerEdit.text(),
206 self.portSpin.value(),
207 timeout=10)
208 else:
209 server = smtplib.SMTP(self.mailServerEdit.text(),
208 self.portSpin.value(), 210 self.portSpin.value(),
209 timeout=10) 211 timeout=10)
210 else: 212 if self.useTlsButton.isChecked():
211 server = smtplib.SMTP(self.mailServerEdit.text(), 213 server.starttls()
212 self.portSpin.value(),
213 timeout=10)
214 if self.useTlsButton.isChecked():
215 server.starttls()
216 try:
217 server.login(self.mailUserEdit.text(), 214 server.login(self.mailUserEdit.text(),
218 self.mailPasswordEdit.text()) 215 self.mailPasswordEdit.text())
219 QApplication.restoreOverrideCursor() 216 server.quit()
220 E5MessageBox.information( 217 E5MessageBox.information(
221 self, 218 self,
222 self.tr("Login Test"), 219 self.tr("Login Test"),
223 self.tr("""The login test succeeded.""")) 220 self.tr("""The login test succeeded."""))
224 except (smtplib.SMTPException, socket.error) as e:
225 QApplication.restoreOverrideCursor()
226 if isinstance(e, smtplib.SMTPResponseException):
227 errorStr = e.smtp_error.decode()
228 elif isinstance(e, socket.timeout):
229 errorStr = str(e)
230 elif isinstance(e, socket.error):
231 try:
232 errorStr = e[1]
233 except TypeError:
234 errorStr = str(e)
235 else:
236 errorStr = str(e)
237 E5MessageBox.critical(
238 self,
239 self.tr("Login Test"),
240 self.tr(
241 """<p>The login test failed.<br>Reason: {0}</p>""")
242 .format(errorStr))
243 server.quit()
244 except (smtplib.SMTPException, socket.error) as e: 221 except (smtplib.SMTPException, socket.error) as e:
245 QApplication.restoreOverrideCursor()
246 if isinstance(e, smtplib.SMTPResponseException): 222 if isinstance(e, smtplib.SMTPResponseException):
247 errorStr = e.smtp_error.decode() 223 errorStr = e.smtp_error.decode()
248 elif isinstance(e, socket.timeout): 224 elif isinstance(e, socket.timeout):
249 errorStr = str(e) 225 errorStr = str(e)
250 elif isinstance(e, socket.error): 226 elif isinstance(e, socket.error):
255 else: 231 else:
256 errorStr = str(e) 232 errorStr = str(e)
257 E5MessageBox.critical( 233 E5MessageBox.critical(
258 self, 234 self,
259 self.tr("Login Test"), 235 self.tr("Login Test"),
260 self.tr("""<p>The login test failed.<br>Reason: {0}</p>""") 236 self.tr(
237 """<p>The login test failed.<br>Reason: {0}</p>""")
261 .format(errorStr)) 238 .format(errorStr))
262 239
263 @pyqtSlot() 240 @pyqtSlot()
264 def on_googleHelpButton_clicked(self): 241 def on_googleHelpButton_clicked(self):
265 """ 242 """

eric ide

mercurial