#python-3.x #tkinter #smtplib
Вопрос:
я создал форму tkinter,в которой пользователю предлагается ввести свой адрес электронной почты,и когда будут отправлены запрошенные данные, я хочу отправить OTP на адрес, введенный пользователем, но я сталкиваюсь с ошибкой, которая заключается в том, что адрес получателя недействителен(я думаю).ниже я даю код, который будет необходим «‘
emailstring = tk.StringVar(root)
email = tk.Label(root, text="E-mail").grid(row=2)
email_entry = tk.Entry(root, textvariable=emailstring).grid(row=2, column=1)
receiver_mail =emailstring.get()
root.mainloop()
sender_mail = "godsownprogrammer@gmail.com"
message = "This is a test programnYou are Trying to register your EmailnYour otp is :%s", otp_generator()
s = smtplib.SMTP('smtp.gmail.com', 587)
s.starttls()
s.login("godsownprogrammer", "xxxxx")
s.sendmail(sender_mail, receiver_mail, message)'''
я обрезал несущественные части
, теперь вот ошибка
Traceback (most recent call last):
File "C:/Users/91970/PycharmProjects/pythonProject/tk_new/main.py", line 63, in <module>
s.sendmail(sender_mail, receiver_mail, message)
File "D:python 3.7libsmtplib.py", line 881, in sendmail
raise SMTPRecipientsRefused(senderrs)
smtplib.SMTPRecipientsRefused: {'': (555, b'5.5.2 Syntax error. n24sm4653515pgl.27 - gsmtp')}
Комментарии:
1.
receiver_mail
является пустой строкой. Попробуйте перейтиreceiver_mail = emailstring.get()
к предыдущемуs.sendmail(...)
.2. Переместите всю отправляющую часть внутрь функции.
3. как и предполагал@CoolCloud,я попытался переместить всю отправляющую часть в функцию,но возникает то же самое.теперь, когда я переместил ее в основной цикл, приложение tkinter в результате не запускается, в качестве ввода не указывается адрес электронной почты