0
我正在開發一個發送郵件的PyQt應用程序。它從文件讀取認證信息。我試圖在調用initUI()
之前檢查身份驗證是否正常,並顯示錯誤消息並在完成時退出整個應用程序。在initUI之前終止PyQt應用程序
這是我的代碼片段:
class Mailer(QWidget):
def __init__(self):
super().__init__()
config = configparser.ConfigParser()
config.read('config.ini')
self.server = config["SMTP SERVER"]
self.user = config["USER"]
self.smtpServer = smtplib.SMTP_SSL(self.server["Host"],self.server["Port"])
try:
self.smtpServer.login(self.user["Username"],self.user["Password"])
self.smtpServer.quit()
except smtplib.SMTPAuthenticationError:
QMessageBox.critical(self, "Error de autenticación", """El usuario y/o la contraseña en el archivo config.ini son incorrectos.""", QMessageBox.Ok)
QCoreApplication.instance().quit()
self.initUI()
的問題是,它不會退出應用程序。如果我通過self.close()
更改QCoreApplication.instance().quit()
,我會得到相同的結果。
當然'self.smtpServer.quit()'應該進入'except'塊嗎? – ekhumoro
的確如此,我認爲SMTP Initializator並沒有啓動連接,而是它的'login()'函數。謝謝。 – lembon