СКРИПТ НА PYTHON ДЛЯ ОТПРАВКИ ОТЧЕТА ПО ЭЛЕКТРОННОЙ ПОЧТЕ

 ГлавнаяАрхив статей | Скрипт на Python для отправки отчета по электронной почте

Для автоматизации отправки ежедневных отчетов по электронной почте с использованием Python, мы можем использовать библиотеку smtplib для отправки писем и email для создания сообщений. Также, чтобы скрипт запускался ежедневно, можно использовать планировщик задач, такой как cron на Unix-подобных системах или Task Scheduler на Windows.

 

Вот пример скрипта на Python для отправки отчета по электронной почте:
 
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
import os

 

def send_email(report_file):
    # Настройки почты
    smtp_server = 'smtp.example.com'
    smtp_port = 587
    sender_email = 'your_email@example.com'
    sender_password = 'your_password'
    receiver_email = 'receiver_email@example.com'

 

    # Создание сообщения
    msg = MIMEMultipart()
    msg['From'] = sender_email
    msg['To'] = receiver_email
    msg['Subject'] = 'Ежедневный отчет'

 

    # Текст сообщения
    body = 'Здравствуйте,\n\nВо вложении находится ежедневный отчет.\n\nС уважением,\nВаша компания'
    msg.attach(MIMEText(body, 'plain'))

 

    # Вложение файла
    attachment = open(report_file, 'rb')
    part = MIMEBase('application', 'octet-stream')
    part.set_payload((attachment).read())
    encoders.encode_base64(part)
    part.add_header('Content-Disposition', 'attachment; filename= {}'.format(os.path.basename(report_file)))
    msg.attach(part)

 

    # Отправка письма
    try:
        server = smtplib.SMTP(smtp_server, smtp_port)
        server.starttls()
        server.login(sender_email, sender_password)
        text = msg.as_string()
        server.sendmail(sender_email, receiver_email, text)
        print('Письмо успешно отправлено')
    except Exception as e:
        print(f'Ошибка при отправке письма: {e}')
    finally:
        server.quit()
if __name__ == '__main__':
    report_file = '/path/to/your/report/file.pdf'  # Укажите путь к вашему отчету
    send_email(report_file)
 
Настройка автоматического запуска:

 

Unix-подобные системы (Linux, macOS)

 

1. Откройте терминал и выполните команду для редактирования cron задач:

 

    crontab -e

 

2. Добавьте следующую строку, чтобы скрипт выполнялся ежедневно в 9:00 утра:

    0 9 * * * /usr/bin/python3 /path/to/your/script.py
 
Убедитесь, что путь к интерпретатору Python и вашему скрипту верны.

 

Windows:
1. Откройте Task Scheduler (Планировщик задач).
2. Выберите "Create Basic Task" (Создать задачу) и следуйте инструкциям мастера.
3. Укажите триггер для ежедневного выполнения в определенное время.
4. В разделе "Action" выберите "Start a program" (Запустить программу) и укажите путь к вашему скрипту Python.
 
Требования:
1. Убедитесь, что у вас установлены библиотеки smtplib и email. Они входят в стандартную библиотеку Python, поэтому не требуют установки.
2. Проверьте, что у вас есть доступ к SMTP серверу и корректные учетные данные для отправки электронной почты.
3. Этот скрипт и шаги настройки помогут вам автоматизировать отправку ежедневных отчетов по электронной почте.

 

12.07.2024 / Перейти на PYTHON

ПОДЕЛИТЬСЯ

СТАТЬИ ОТ СПОНСОРОВ

СТАТЬИ ОТ СПОНСОРОВ

12.07.2024 / PYTHON