# 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/восстановления