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

После нажатия на кнопку должен создаваться файл PDF и отправляться почтой

17.06.2023, 17:05. Показов 438. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть кнопка(Button) Tkinter. После нажатия на неё у меня должен создаваться файл в формате PDF. B и отправляться почтой. Я вроде всё правильно сделал, но письмо не приходит. Подскажите! Файл создаётся и сохраняется, но не отправляется.Ошибка не вылезает.
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
    with open("ticket_data.txt", "rb") as file:
        raw_data = file.read()
        result = chardet.detect(raw_data)
        encoding = result["encoding"]
    global login_window, username1, password0
    with open("ticket_data.txt", encoding=encoding) as f:
        ticket_data = f.readlines()
    for user in ticket_data:
        uuser = user.split(':')
        if uuser[0] == username1.get():
            label7 = Label(qiwiOP, text=(uuser[11])+' RUB', bg="#C8C8C8", font=('Arial', 10))
            label7.place(x=170, y=210)
def create_pdf_with_info(info):
    file_path = filedialog.asksaveasfilename(defaultextension=".pdf", filetypes=[("PDF Files", "*.pdf")])
 
    c = canvas.Canvas(file_path)
 
    c.setFont("Helvetica", 12)
    c.drawString(100, 700, "Информация: {}".format(info))
 
    c.save()
 
    return file_path
def send_email1(file_path):
    from_email = 'ffghfgh43534@rambler.ru'
    password = 'ХХХХХХХХХХ'
    to_email = "mollny228@mail.ru"
 
    msg = MIMEMultipart()
    msg['From'] = from_email
    msg['To'] = to_email
    msg['Subject'] = "Чек об оплате"
 
    with open(file_path, "rb") as f:
        attachment = MIMEBase("application", "octet-stream")
        attachment.set_payload(f.read())
        encoders.encode_base64(attachment)
        attachment.add_header("Content-Disposition", "attachment", filename="check.pdf")
        msg.attach(attachment)
 
    with smtplib.SMTP_SSL("smtp.rambler.ru", 465) as server:
        server.ehlo()
        server.login(from_email, password)
        server.send_message(msg)
        server.quit()
 
    messagebox.showinfo("Уведомление", "Чек успешно отправлен!")
 
def pay_button_clicked1():
    info = "Здесь может быть ваша информация"
    file_path = create_pdf_with_info(info)
    send_email1(file_path)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.06.2023, 17:05
Ответы с готовыми решениями:

При запуске exe рядом должен создаваться xml файл
необходимо при запуске exe файла , чтобы создавался рядом xml файл. так как экзешних черпает оттуда данные. у меня получается реализовать...

Если текстовое поле пустое, должен показываться span после нажатия на кнопку, если нет, то span не появляется
не работает следующий код. Если текстовое поле пустое, должен показываться span после нажатия на кнопку, если нет, то span не появляется: ...

После нажатия на кнопку TBitBtn сделать кнопку не действующей
Как после нажатия на кнопку bitbtn1 кнопка становилась не действушей

1
2 / 2 / 0
Регистрация: 24.11.2021
Сообщений: 6
01.07.2023, 07:26
Посмотри в настройках почты рамблера, может ты не включил доступ к почтовому ящику через SMTP. Также попробуй на другой ящик письмо направить, может спам.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.07.2023, 07:26
Помогаю со студенческими работами здесь

Как при нажатии на кнопку создать новую кнопку (чтоб после нажатия на кнопку1 ты мог нажать на кнопку2 и сократить число
<p> <input id="kvcor_nabor" align="right" size=9 onclick="kvcorsolve_qe()" type="button" value="Решить квадратное уравнение."...

Выполнить PHP код после нажатия на кнопку, но, после проверки на регулярку
Здравствуйте. Срочно нужна ваша помощь! Заранее спасибо. Делаю страницу отправки кодов, но не могу сделать правильно и вообще не знаю...

По событию нажатия на кнопку вызвать функцию, в которой ждать нового нажатия на ту же самую кнопку
type TForm1 = class(TForm) Button1: TButton; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender:...

После нажатия на кнопку Run запускается программа, после чего компьютер отключается
Друзья, может кто сталкивался с такой проблемой? Вчера еще программа работала без проблема, сегодня, ничего не исправляла в коде, нажимаю...

После нажатия кнопки цвет надписи должен меняться
Разместить на странице поле для ввода текста с какой-то надписью и кнопку. После нажатия кнопки цвет надписи должен меняться.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru