283 return False |
283 return False |
284 try: |
284 try: |
285 server.login(Preferences.getUser("MailServerUser"), |
285 server.login(Preferences.getUser("MailServerUser"), |
286 password) |
286 password) |
287 except (smtplib.SMTPException, socket.error) as e: |
287 except (smtplib.SMTPException, socket.error) as e: |
|
288 if isinstance(e, smtplib.SMTPResponseException): |
|
289 errorStr = e.smtp_error.decode() |
|
290 elif isinstance(e, socket.error): |
|
291 errorStr = e[1] |
|
292 else: |
|
293 errorStr = str(e) |
288 res = E5MessageBox.retryAbort(self, |
294 res = E5MessageBox.retryAbort(self, |
289 self.trUtf8("Send bug report"), |
295 self.trUtf8("Send bug report"), |
290 self.trUtf8("""<p>Authentication failed.<br>Reason: {0}</p>""") |
296 self.trUtf8("""<p>Authentication failed.<br>Reason: {0}</p>""") |
291 .format(str(e)), |
297 .format(errorStr), |
292 E5MessageBox.Critical) |
298 E5MessageBox.Critical) |
293 if res: |
299 if res: |
294 return self.__sendmail(msg) |
300 return self.__sendmail(msg) |
295 else: |
301 else: |
296 return False |
302 return False |
300 server.sendmail(Preferences.getUser("Email"), self.__toAddress, msg) |
306 server.sendmail(Preferences.getUser("Email"), self.__toAddress, msg) |
301 server.quit() |
307 server.quit() |
302 QApplication.restoreOverrideCursor() |
308 QApplication.restoreOverrideCursor() |
303 except (smtplib.SMTPException, socket.error) as e: |
309 except (smtplib.SMTPException, socket.error) as e: |
304 QApplication.restoreOverrideCursor() |
310 QApplication.restoreOverrideCursor() |
|
311 if isinstance(e, smtplib.SMTPResponseException): |
|
312 errorStr = e.smtp_error.decode() |
|
313 elif isinstance(e, socket.error): |
|
314 errorStr = e[1] |
|
315 else: |
|
316 errorStr = str(e) |
305 res = E5MessageBox.retryAbort(self, |
317 res = E5MessageBox.retryAbort(self, |
306 self.trUtf8("Send bug report"), |
318 self.trUtf8("Send bug report"), |
307 self.trUtf8("""<p>Message could not be sent.<br>Reason: {0}</p>""") |
319 self.trUtf8("""<p>Message could not be sent.<br>Reason: {0}</p>""") |
308 .format(str(e)), |
320 .format(errorStr), |
309 E5MessageBox.Critical) |
321 E5MessageBox.Critical) |
310 if res: |
322 if res: |
311 return self.__sendmail(msg) |
323 return self.__sendmail(msg) |
312 else: |
324 else: |
313 return False |
325 return False |