Email Sender — это Python-проект для автоматической отправки HTML-писем с использованием SMTP-сервера.
Проект демонстрирует, как можно использовать FastAPI для отправки электронных писем с помощью шаблонов HTML и переменных окружения.
Особенности:
- Отправка персонализированных HTML-писем.
- Использование шаблонов для формирования содержимого писем.
- Конфигурация SMTP-сервера через переменные окружения.
- Поддержка вложений (например, логотип компании).
pip install -r requirements.txt
email_sender_maestro7it/
│
├── data/
│ └── emails.json # JSON-файл с данными для отправки email
│
├── img/
│ └── maestro7it_logo.jpg # Логотип компании
│
├── templates/
│ └── email_template.html # Шаблон HTML-кода письма
│
├── .env_sample # Шаблон файла .env
├── .gitignore
├── full_email_sender.py # Основной скрипт для отправки email
└── 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: Файл с данными для отправки писем.
[
{
"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"
}
]
Этот проект лицензирован под MIT License.
Если у вас возникли вопросы, пожалуйста, напишите нам на support@maestro7it.ru.
Автор: Дуплей Максим Игоревич
Дата: 15.09.2024
Версия: 1.0