Files
autoreg-skills-max/skills/github-autoreg/references/mailtm-utils.md

50 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# mail.tm Utilities — disposable email backend for GitHub AutoReg
mail.tm API предоставляет временные почтовые ящики без регистрации. GitHub принимает письма на mail.tm-домены (web-library.net, и др.).
## API Reference
Base URL: `https://api.mail.tm`
### create_email()
```python
from src.mailtm_utils import create_email
mail = create_email()
# {
# "email": "ghx8s5czsqqfzu@web-library.net",
# "password": "shuzMXH4bj1P6Awf9wrA...",
# "token": "eyJ0eXAiOiJKV1QiLCJh..."
# }
```
Флоу:
1. `GET /domains` — получить доступный домен
2. `POST /accounts` — создать ящик (`{address, password}`)
3. `POST /token` — получить JWT токен (`{address, password}`)
### wait_for_code(token, timeout=120)
```python
code = wait_for_code(mail["token"], timeout=120)
# "848413" — 6-8 digit verification code
```
Флоу:
1. `GET /messages` — поллить входящие (Authorization: Bearer token)
2. Фильтровать по `from.address` содержит `github.com`
3. `GET /messages/{id}` — прочитать тело письма
4. Regex `\b(\d{6,8})\b` — извлечь код подтверждения
## Проверено
- 2026-07-27: `nova9417` создан через mail.tm (домен web-library.net)
- GitHub отправил verification code, код успешно извлечён и применён
## Питфолы
- **Домен может меняться** — всегда вызывать `GET /domains` перед созданием, не хардкодить
- **Письма могут задержаться** — GitHub отправляет письмо не мгновенно, timeout=120 покрывает
- **Токен истекает** — mail.tm JWT живёт ограниченное время, создавать новый ящик для каждой регистрации
- **Не использовать для входа** — ящики одноразовые, после регистрации email может понадобиться для 2FA/восстановления