Форум программистов, компьютерный форум, киберфорум
Python: Сети
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/43: Рейтинг темы: голосов - 43, средняя оценка - 4.81
1 / 0 / 1
Регистрация: 03.05.2020
Сообщений: 34
1

Отправка скринов по почте

16.12.2020, 21:21. Показов 7933. Ответов 3

Author24 — интернет-сервис помощи студентам
Даже не знаю правильный ли раздел я выбрал для вопроса, но попробую.
Поставил перед собой такую задачу:
Написать программку, которая после запуска делает скриншот всего экрана и отправляет мне на почту.
Сама программа у меня получилась, т.е. после ее запуска в Pycharm и через командную строку все работает.
Я конвертировал это программу в exe через pyinstaller. Пытаюсь запустить ее и у меня выдает ошибку
Отправка скринов по почте

Я вижу, что не видит opencv-python (cv2), но почему тогда через cmd и pycharm все запускается?
В коде, который будет ниже, я специально заменил начало почты бота,моей почты и пароль на *, я думаю все понимают почему, безопасность и тд и тп
Сам код:
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
import os
import cv2
import smtplib
import datetime
import numpy as np
from tkinter import Tk
from PIL import ImageGrab
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
 
def const():
    date = datetime.date.today().strftime("%d-%m-%Y")  # Узнаем текущую дату
    print(date)
    time = datetime.datetime.now().strftime("%H:%M")  # Узнаем текущее время
    title_msg = str(date) + ".jpg"  # Название темы сообщения
    title_file = str(time) + ".jpg"  # Название файла
    msg = MIMEMultipart()  # Создается главное сообщение
    msg['Subject'] = str(date)  # Присваиваем тему письму
    msg['From'] = '******bot@mail.ru'  # Почта бота
    msg['TO'] = '********@mail.ru'  # Почта получателя
    ams = '********'
    image(msg,title_msg,title_file)
    start_server(msg,ams,title_msg)
 
def start_server(msg,ams,title_msg):
    server = smtplib.SMTP('smtp.mail.ru:25')
    server.ehlo()
    server.starttls()
    server.login(msg['From'], ams)
    server.sendmail(msg['From'], msg['TO'], msg.as_string())
    server.quit()
    path = os.path.join(os.path.abspath(os.path.dirname(__file__)), title_msg)  # Находим скриншот
    os.remove(path)  # Удаляем скриншот
 
 
def image(msg,title_msg,title_file):
    root = Tk()  # Создаем окно
    height = root.winfo_screenheight()  # Узнаем высоту экрана
    width = root.winfo_screenwidth()  # Узнаем ширину экрана
    printscreen = np.array(ImageGrab.grab(bbox=(0, 0, width, height)))  # Захватываем всю облать экрана
    cv2.imwrite(title_msg, cv2.cvtColor(printscreen, cv2.COLOR_BGR2RGB))  # Сохраняем скриншот экрана, предварительно изменив палитру цветов с BGR на RGB
    part = MIMEApplication(open(title_msg, 'rb').read())  # Открывае и считываем файл
    part.add_header('Content-Disposition', 'attachment', filename=title_file)  # Присваиваем название файлу
    return msg.attach(part)
 
 
if __name__ =="__main__":
    const()
Я так понима, что дело в интерпретаторе, т.е. я не правильно задал его расположение в pycharm, но через cmd и pycharm все запускается
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2020, 21:21
Ответы с готовыми решениями:

Отправка письма по эл. почте
Пытаюсь сделать систему отправки сообщений. Чтобы пользователь вводил дату и время и когда то...

Отправка файла по электронной почте
Прога должна отправлять на имейл сообщение с файлом. А присылает Untitled.bin помогите... import...

Python - отправка сообщений по почте
Я не могу переменную data отправить на почту. Весь код работает и приходит письмо с текстом...

Отправка документа по электронной почте на python 3
Здравствуйте уважаемые форумчане столкнулся с такой проблемой как отправить документ по электронной...

3
1042 / 577 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
17.12.2020, 08:51 2
stranger2287, https://docs.python.org/3/libr... .MIMEImage
0
4284 / 964 / 138
Регистрация: 29.01.2013
Сообщений: 5,673
17.12.2020, 12:11 3
stranger2287, вы не запаковали в архив cv2
0
1 / 0 / 1
Регистрация: 03.05.2020
Сообщений: 34
18.12.2020, 16:13  [ТС] 4
Сам разобрался
Дело в то, что в pycharm при создании нового проекта нужно указывать расположение интерпретатора, вот в этом и запутался
0
18.12.2020, 16:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2020, 16:13
Помогаю со студенческими работами здесь

Отправка данных из таблице по почте содержащих кирилицу
Python изучаю не так давно,подскажите не могу выявить где проблема Считываю данные из базы и...

Отправка скринов
Здравствуйте, имеется 2 программы: сервер, клиент. Сервер посылает скриншот на клиент, тот...

Отправка файлов по почте
как отправить файл по почте через VB?

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

Отправка файла по почте
Выдает ошибку. procedure TForm1.Button1Click(Sender: TObject); begin...

Отправка сообщений на почте
Ребят подскажите как быть, хочу все что в массиве отправить по почте вот: Array ( => Иванов...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru