Email Sender — это Python-проект для автоматической отправки HTML-писем с использованием SMTP-сервера.
Проект демонстрирует, как можно использовать FastAPI для отправки электронных писем с помощью шаблонов HTML и переменных окружения.
Также был разработан шаблон письма для отправки поздравлений с Новым 2025 Годом по электронной почте.
Особенности:
- Отправка персонализированных HTML-писем.
- Использование шаблонов для формирования содержимого писем.
- Конфигурация SMTP-сервера через переменные окружения.
- Поддержка вложений (например, логотип компании).
pip install -r requirements.txt
email_sender_maestro7it/
│
├── data/
│ ├── samples/
│ │ └── emails.json # JSON-файл с данными для отправки писем (компаниям).
│ └── emails_2025.json # JSON-файл с данным для отправки поздравлений с Новым 2025 Годом.
│
├── img/
│ ├── logo.jpg # Фотография с примером логотипа.
│ ├── maestro7it_logo.jpg # Логотип компании.
│ └── New_Year_2025.jpg # Поздравление с Новым 2025 годом.
│
├── templates/
│ ├── samples/
│ │ └── email_template.html # Шаблон HTML-кода для отправки писем (компаниям).
│ └── email_template.html # Шаблон HTML-кода для отправки поздравлений с Новым 2025 Годом.
│
├── .env_sample # Шаблон файла .env
├── .gitignore
├── email_sender.py # Основной скрипт расссылки по почте.
├── full_email_sender.py # Основной скрипт для отправки email.
├── happy_new_year.py # Основной скрипт для отправки поздравлений с Новым 2025 Годом.
└── requirements.txt # Список зависимостей проекта.
Файл .env — это файл, содержащий переменные окружения, которые используются вашим приложением.
Эти переменные могут включать конфиденциальные данные, такие как пароли или ключи API.
.env файл не должен быть добавлен в систему контроля версий (например, Git), чтобы предотвратить утечку чувствительной информации.
Файл env_sample (или .env_sample) — это пример файла .env, который должен быть включен в систему контроля версий.
Он предоставляет шаблон для того, чтобы другие разработчики знали, какие переменные окружения им нужно создать.
Этот файл не содержит конфиденциальных данных, а только примеры значений.
SMTP_SERVER: Адрес вашего SMTP-сервера, который будет использоваться для отправки писем.
SMTP_PORT: Порт, используемый SMTP-сервером.
Обычно это 587 для STARTTLS, 465 для SSL/TLS, или 25 для нешифрованного соединения.
SMTP_USERNAME: Имя пользователя для аутентификации на SMTP-сервере.
Обычно это ваш email-адрес.
SMTP_PASSWORD: Пароль для аутентификации на SMTP-сервере.
Необходимо хранить его в секрете.
emails.json: Файл с данными для отправки писем (компаниям).
emails_2025.json: Файл с данными для отправки поздравлений с Новым 2025 Годом.
[
{
"email": "example1@domain.com",
"subject": "Добро пожаловать в нашу компанию",
"name": "Иван Иванов",
"date": "01.10.2024",
"time": "10:00",
"event_link": "https://example.com/webinar1"
},
{
"email": "example2@domain.com",
"subject": "Подтверждение вашей регистрации",
"name": "Мария Петрова",
"date": "05.10.2024",
"time": "14:00",
"event_link": "https://example.com/webinar2"
},
{
"email": "example3@domain.com",
"subject": "Приглашение на мероприятие",
"name": "Алексей Смирнов",
"date": "10.10.2024",
"time": "18:00",
"event_link": "https://example.com/webinar3"
}
]
[
{
"email": "georgdan28@mail.ru",
"subject": "Открытка с наступающим новым 2025 годом",
"name": "Данилов Георгий",
"date": "31.12.2024",
"time": "24:00",
"img_postcard": "img/New_Year_2025.jpg"
},
{
"email": "maksimqwe42@mail.ru",
"subject": "Открытка с наступающим новым 2025 годом",
"name": "Дуплей Максим",
"date": "31.12.2024",
"time": "24:00",
"img_postcard": "img/New_Year_2025.jpg"
},
{
"email": "email_sample@mail.ru",
"subject": "Открытка с наступающим новым 2025 годом",
"name": "email_sample@mail.ru",
"date": "31.12.2024",
"time": "24:00",
"img_postcard": "img/New_Year_2025.jpg"
}
]
Если у вас возникли вопросы, пожалуйста, напишите нам на support@maestro7it.ru.
Этот проект лицензирован под лицензией MIT
Для получения дополнительной информации ознакомьтесь с файлом LICENSE
Дуплей Максим Игоревич
Дата: 15.09.2024
Версия: 1.0