Следующий метод привязан к кнопке отправки, которая должна отправлять электронное письмо с использованием библиотеки SMTP Python. Я хочу, чтобы метка на моем экране отображала текст «отправка ...» перед отправкой почты, а после отправки почты во всплывающем окне будет отображаться текст о том, что почта была отправлена. Проблема, с которой я сталкиваюсь, заключается в том, что после нажатия кнопки ничего не происходит (текст метки не отображается), а через мгновение (обычное время отправки почты) всплывающее окно отображается, и текст в метке отображается... Это для меня очень странно, что все выходные данные отображаются одновременно, а не в обычном порядке:
отображать текст в ярлыке> отправить почту> показать всплывающее окно после отправки почты.
Мой код выглядит следующим образом:
def send_email(self):
self.the_mail_feedback.text = "Sending..."#this is not showing at first but after execution!
gmail_user = str(self.txt_from_mail.text)
gmail_pwd = str(self.txt_password.text)
FROM = str(self.txt_from_mail.text)
TO = []
TO.append(str(self.txt_to_mail.text))
SUBJECT = "subject 1"
TEXT = "some text..."
message = """\From: %s\nTo: %s\nSubject:
%s\n\n%s""" % (FROM, ", ".join(TO), SUBJECT, TEXT)
try:
server = smtplib.SMTP("smtp.gmail.com", 587)
server.ehlo()
server.starttls()
server.login(gmail_user, gmail_pwd)
server.sendmail(FROM, TO, message)
server.close()
self.pop.open()#a popup that says that the mail is sent...
#self.the_mail_feedback.text="" #will uncomment when it works to reset feedback
except:
self.the_mail_feedback.text="Failed To Send Mail... Check Credentials
"