Actix Web + Mailexam
Минимальный пример Actix Web, который отправляет тестовое письмо через SMTP Mailexam.
Эталонная реализация для руководства Mailexam по Actix Web.
Что понадобится
- Rust 1.70+
- Аккаунт Mailexam с SMTP-учётными данными для проекта
Настройка
- Скопируйте пример файла окружения и заполните учётные данные Mailexam:
cp .env.example .env
- Укажите значения из приветственного письма или личного кабинета Mailexam:
| Переменная | Описание |
|---|---|
MAILEXAM_LOGIN |
SMTP-логин (хост: {login}.mailexam.ru) |
MAILEXAM_PASSWORD |
SMTP-пароль (пара к логину) |
MAILEXAM_PORT |
SMTP-порт (по умолчанию 587, STARTTLS) |
MAIL_FROM |
Адрес отправителя (любой тестовый адрес) |
Не коммитьте .env в git.
Запуск
cargo run
Сервер слушает http://127.0.0.1:8080.
Отправка тестового письма
curl -X POST http://127.0.0.1:8080/mail/test \
-H 'Content-Type: application/json' \
-d '{"to":"user@example.test","subject":"Тест","body":"Привет"}'
При успехе endpoint возвращает ok. Письмо появится в личном кабинете Mailexam → ваш проект → входящие.
Структура проекта
src/
main.rs # HTTP-сервер и обработчик POST /mail/test
mail.rs # конфигурация SMTP Mailexam и send_test через lettre
См. также
- Руководство Mailexam по Actix Web (wiki)
- Пример на Axum — тот же mail-модуль, другой HTTP-фреймворк
- Документация Actix Web
- Документация lettre
- Документация API Mailexam
Лицензия
Apache 2.0