Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 17.11.2017
Сообщений: 20

Python - Графический интерфейс

16.07.2018, 12:28. Показов 952. Ответов 0

Студворк — интернет-сервис помощи студентам
Я новичок в Python
Пишу графическую программу для отправки почты.

И так, я сделал главное окно где при введённой Y или N,
выходит окно чтобы ввести или Логин с паролем почты,
или отправка самого сообщения.
Но при нажатии на кнопку Отправить не выходит ни одно из окон.

Код графический:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
from tkinter import *
from tkinter import ttk
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
 
root = Tk()
root.geometry("250x150")
root.title("SMail (v0.2)")
 
def checkss():
    if yornos == 'Y':
        raat = Tk()
        raat.geometry("900x600")
        raat.title("Send")
        f_login = open("login", "r")
        login = f_login.read()
        f_login.close()
        f_pass = open("passw", "r")
        password = f_pass.read()
        f_pass.close()
 
        text_komu = Label(text="Кому")
        text_komu.place(x=50,y=50)
        komu = Entry()
        komu.place(x=50,y=75)
 
        text_tema = Label(text="Тема")
        text_tema.place(x=50,y=100)
        tema = Entry()
        tema.place(x=50,y=125)
 
        text_mess = Label(text="Сообщение")
        text_mess.place(x=50,y=150)
        mess = Entry()
        mess.place(x=50,y=175)
 
        msg = MIMEMultipart()
        msg['From'] = login
        msg['To'] = komu
        msg['Subject'] = tema
 
        body = ''.join(data)
 
        try:
            msg.attach(MIMEText(body))
 
            server = smtplib.SMTP('smtp.mail.ru', 587)
            server.starttls()
            server.login(fromaddr, mypass)
            text = msg.as_string()
            server.sendmail(fromaddr, komu, text)
            server.quit()
        except smtplib.SMTPAuthenticationError:
            error_error = Tk()
            error_error.geometry("200x100")
            error_error.title("Ошибка")
            error_er = Label(text='Вы ввели не верные данные Логина и Пароля. Перезапустите программу...')
            error_er.place(x=50,y=50)
            error_error.mainloop()
        except smtplib.SMTPRecipientsRefused:
            print('Получатель не был найден.')
            while i<15555500:
                i += 1
            else:
                exit()
        info = Tk()
        info.geometry("200x100")
        info.title("Info")
        info_text = Label(text="Успешно отправлено")
        info_text.place(x=50,y=50)
        info.mainloop()
        raat.mainloop()
    elif yornos == 'N':
        rot = Tk()
        rot.geometry("900x600")
        rot.title("Данные")
 
        text_login = Label(text="Логин")
        text_login.place(x=50,y=50)
        login = Entry()
        login.place(x=50,y=75)
        text_password = Label(text="Пароль")
        text_password.place(x=50,y=100)
        password = Entry()
        password.place(x=50,y=125)
        file_login = open("login", "w")
        file_login.write(login)
        file_login.close()
        file_passw = open("passw", "w")
        file_passw.write(password)
        file_passw.close()
        
        rot.mainloop()
    
 
text_yorno = Label(text="Вы вводили данные почты?")
text_yorno.place(x=50,y=50)
yorno = Entry()
yorno.place(x=65,y=75)
 
yornos = yorno.get()
 
btn = ttk.Button(text="Отправить", command=lambda: checkss())
btn.place(x=75,y=100)
 
root.mainloop()
Код консольной программы:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
 
print("██████████████████████████████████")
print(" "*3)
print("╔═══╦╗╔╦══╦════╦══╦╗╔═╗\n║╔═╗║║║║╔═╩═╗╔═╣╔╗║║║╔╝\n║╚═╝║║║║╚═╗─║║─║╚╝║╚╝║\n║╔╗╔╣║║╠═╗║─║║─║╔╗║╔╗║\n║║║║║╚╝╠═╝║─║║─║║║║║║╚╗\n╚╝╚╝╚══╩══╝─╚╝─╚╝╚╩╝╚═╝")
print(" "*3)
print("██████████████████████████████████")
print(" "*2)
 
i = 0
 
yorno = input('Ты уже вводил данные почты? #: Y or N\n')
if yorno == 'N':
    login = input('Введи логин почты \n')
    passw = input('Введи пароль почты \n')
    file_login = open("login", "w")
    file_login.write(login)
    file_login.close()
    file_passw = open("passw", "w")
    file_passw.write(passw)
    file_passw.close()
    print('Сейчас программа закроется...Запустите её заново и введите Y')
    while i<15555555:
        i += 1
    else:
        exit()
elif yorno == 'Y':
    f_login = open("login", "r")
    fromaddr = f_login.read()
    f_login.close()
    f_pass = open("passw", "r")
    mypass = f_pass.read()
    f_pass.close()
else:
    input('Вы ввели не правильную команду. Нажмите Enter...')
    exit()
        
komu = input('Кому: ')
tema = input('Тема сообщения: ')
data = input('Текст: ')
print(" "*10000)
print("Ожидайте...")
 
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = komu
msg['Subject'] = tema
 
body = ''.join(data)
 
try:
    msg.attach(MIMEText(body))
 
    server = smtplib.SMTP('smtp.mail.ru', 587)
    server.starttls()
    server.login(fromaddr, mypass)
    text = msg.as_string()
    server.sendmail(fromaddr, komu, text)
    server.quit()
except smtplib.SMTPAuthenticationError:
    print('Вы ввели не верные данные Логина и Пароля. Перезапустите программу...')
    input()
except smtplib.SMTPRecipientsRefused:
    print('Получатель не был найден.')
    while i<15555500:
        i += 1
    else:
        exit()
print(" "*10000)
print("Успешно отправлено")
Пожалуйста, помогите...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.07.2018, 12:28
Ответы с готовыми решениями:

Графический интерфейс tkinker PYTHON
Доброго времени суток, хотел сделать окно для бота в оффлайн игры. Не могу понять, как вместо слов &quot;true - false&quot; справа от...

Графический интерфейс вставка изображения в tinker на python
photo1 это код base64 у меня картинка не появляется почему-то кодом base64 все впорядке я его декодирую вонлайн декодерах и получатся...

Нужен графический интерфейс типа чата Python
В настоящий момент все выводится через консоль. нужно, чтобы весь ввод и вывод был в том, что больше похоже на какой-нибудь мессенджер или...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.07.2018, 12:28
Помогаю со студенческими работами здесь

Графический интерфейс
Приветствую. Есть скрипт для питона, возможно ли ему написать графическую оболочку с возможностью изменения одной строчки в скрипте? Так...

Графический интерфейс
Здраствуйте, нужно реализовать программу, которая считает площади треугольника, круга, прямоугольника по заданным параметрам с графическим...

Графический интерфейс
Здравствуйте! Мне нужно реализовать графический интерфейс, а именно: окно, в котором задаются параметры и строится треугольник. Туплю в...

Графический интерфейс
День добрый. Нужно сделать десктопное приложение, в окне которого было бы подокно для графика и кнопки для запись/считывания в/из файла....

Графический интерфейс мессенджера
Всем привет. У меня такая проблема. Я пишу мессенджер, графический интерфейс - PyQt5. Как я могу реализовать такую штуку, как на видео, но...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru