Автоматизация электронной почты и отчётов
Отправляйте автоматические письма и создавайте отчёты с помощью Python
«Автоматизация электронной почты и отчётов» — бесплатный урок Python For Kids на CoddyKit. Это урок 3 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Python For Kids, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Python For Kids содержит 3 уроков всего.
Автоматизация электронной почты и отчётов
Отправка автоматических писем и создание отчётов — распространённые задачи во многих проектах. Python предоставляет для этого такие библиотеки, как smtplib, email и reportlab.
В этом уроке Вы узнаете, как отправлять автоматические письма и создавать простые отчёты.

Отправка писем с помощью smtplib
Библиотека smtplib позволяет отправлять письма с использованием SMTP (простого протокола передачи почты). Начнём с отправки простого письма.
# Sending a basic email
import smtplib
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login('your_email@gmail.com', 'your_password')
server.sendmail('from_email@gmail.com', 'to_email@gmail.com', 'Subject: Test Email\n\nHello, this is a test email!')
server.quit()Использование библиотеки email
Библиотека email позволяет создавать более сложные электронные письма, например письма с вложениями или содержимым HTML.
# Sending an HTML email
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
msg = MIMEMultipart()
msg['From'] = 'your_email@gmail.com'
msg['To'] = 'to_email@gmail.com'
msg['Subject'] = 'Test HTML Email'
html_content = '<h1>Hello!</h1><p>This is a test email with HTML content.</p>'
msg.attach(MIMEText(html_content, 'html'))Автоматизация вложений в письмах
С помощью библиотеки email можно прикреплять файлы к письмам. Например, отправим файл PDF в качестве вложения.
# Adding an attachment
from email.mime.base import MIMEBase
from email import encoders
filename = 'example.pdf'
with open(filename, 'rb') as attachment:
part = MIMEBase('application', 'octet-stream')
part.set_payload(attachment.read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', f'attachment; filename={filename}')
msg.attach(part)Создание отчётов с помощью reportlab
Библиотека reportlab позволяет программно создавать отчёты в формате PDF. Давайте создадим простой отчёт в формате PDF.
# Generating a simple PDF report
from reportlab.pdfgen import canvas
c = canvas.Canvas('report.pdf')
c.drawString(100, 750, 'Hello, this is a PDF report!')
c.save()Объединение автоматизации электронной почты и отчётов
После создания отчёта Вы можете отправить его как вложение в электронном письме. Объедините изученные к этому моменту концепции, чтобы автоматизировать весь процесс.
Планирование автоматической отправки писем
Вы можете планировать задачи автоматической отправки писем с помощью таких инструментов, как cron (Linux/macOS) или планировщик заданий (Windows).
Использование API для автоматизации электронной почты
Такие сервисы, как SendGrid и Mailgun, предоставляют API для отправки электронных писем. Эти API безопаснее и лучше масштабируются, чем прямое использование SMTP.
Распространённые ошибки при автоматизации электронной почты и отчётов
Вот некоторых ошибок, которых следует избегать:
- указывать учётные данные непосредственно в скрипте;
- не тестировать настройки электронной почты перед автоматизацией;
- не обрабатывать ошибки электронной почты, например недействительные адреса получателей.
Что мы узнали
В этом уроке Вы узнали:
- как использовать библиотеки
smtplibиemailдля отправки электронных писем; - как создавать отчёты с помощью библиотеки
reportlab; - как автоматизировать отправку электронных писем с вложениями;
- о лучших практиках безопасной и эффективной автоматизации отправки электронных писем.
Отличная работа! Переходим к следующей теме.

Часто задаваемые вопросы
Урок «Автоматизация электронной почты и отчётов» бесплатный?
Да — полный текст урока «Автоматизация электронной почты и отчётов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Python For Kids, подпишись на CoddyKit PRO. Курс Python For Kids содержит 3 уроков всего.
Чему я научусь в уроке «Автоматизация электронной почты и отчётов»?
Отправляйте автоматические письма и создавайте отчёты с помощью Python Ты практикуешь Python For Kids с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Python For Kids?
Предыдущий опыт не требуется. Python For Kids на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 3.
Сколько времени занимает урок «Автоматизация электронной почты и отчётов»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Python For Kids?
Да. Каждый урок Python For Kids включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Автоматизация задач с помощью скриптов
- Работа с os и shutil
- Автоматизация электронной почты и отчётов