▸ Главная | Архив статей | Скрипт на 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